diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 02108eb6bc..0998b5801d 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -61,6 +61,19 @@ var/list/mob_hat_cache = list() holder_type = /obj/item/weapon/holder/drone can_be_antagged = FALSE + + //CHOMPEDIT: CHAISS storage + var/chassis = "repairbot" // A record of your chosen chassis. + var/global/list/possible_chassis = list( + "Maintenance" = "repairbot", + "Mining" = "mining", + "Construction" = "constructiondrone", + "White Spider" = "whitespider", + "Crawler" = "crawler", + "Gravekeeper" = "drone-gravekeeper", + "Egg" = "peaceborg", + "Ball" = "omoikane", + ) /mob/living/silicon/robot/drone/Destroy() if(hat) @@ -77,6 +90,7 @@ var/list/mob_hat_cache = list() hat_x_offset = 1 hat_y_offset = -12 can_pull_mobs = MOB_PULL_SAME + chassis = "constructiondrone" //CHOMPEDIT: Initial chasis /mob/living/silicon/robot/drone/mining icon_state = "miningdrone" @@ -86,12 +100,14 @@ var/list/mob_hat_cache = list() hat_x_offset = 1 hat_y_offset = -12 can_pull_mobs = MOB_PULL_SAME + chassis = "mining" //CHOMPEDIT: Initial chasis /mob/living/silicon/robot/drone/New() ..() verbs += /mob/living/proc/ventcrawl verbs += /mob/living/proc/hide + verbs |= /mob/living/silicon/robot/drone/proc/choose_chassis //CHOMPEDIT verb addition remove_language("Robot Talk") add_language("Robot Talk", 0) add_language("Drone Talk", 1) @@ -343,6 +359,12 @@ var/list/mob_hat_cache = list() src << "Use :d to talk to other drones and say to speak silently to your nearby fellows." src << "You do not follow orders from anyone; not the AI, not humans, and not other synthetics.." +/mob/living/silicon/robot/drone/mining/welcome_drone() + src << "You are a mining drone, an autonomous supply and mining system.." + src << "You are assigned to a Sol Central mining project. The name is irrelevant. Your task is to complete construction and subsystem integration as soon as possible." + src << "Use :d to talk to other drones and say to speak silently to your nearby fellows." + src << "You do not follow orders from anyone; not the AI, not humans, and not other synthetics.." + /mob/living/silicon/robot/drone/construction/init() ..() flavor_text = "It's a bulky construction drone stamped with a Sol Central glyph." @@ -358,3 +380,23 @@ var/list/mob_hat_cache = list() /mob/living/silicon/robot/drone/mining/updatename() real_name = "mining drone ([rand(100,999)])" name = real_name + +//CHOMPEDIT: Porting pai chasis selector onto Drones + +/mob/living/silicon/robot/drone/proc/choose_chassis() + set category ="Robot Commands" + set name = "Choose Chassis" + + var/choice + var/finalized = "No" + while(finalized == "No" && src.client) + + choice = input(usr,"What would you like to use for your mobile chassis icon?") as null|anything in possible_chassis + if(!choice) return + + icon_state = possible_chassis[choice] + finalized = alert("Look at your sprite. Is this what you wish to use?",,"No","Yes") + + chassis = possible_chassis[choice] + verbs |= /mob/living/proc/hide + diff --git a/maps/northern_star/polaris-5.dmm b/maps/northern_star/polaris-5.dmm index e37adb96a6..6f713173b9 100644 --- a/maps/northern_star/polaris-5.dmm +++ b/maps/northern_star/polaris-5.dmm @@ -900,7 +900,7 @@ "rp" = (/obj/machinery/suspension_gen,/obj/effect/floor_decal/corner/purple{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/outpost/research/eva) "rq" = (/turf/simulated/floor/tiled,/area/outpost/research/eva) "rr" = (/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled,/area/outpost/research/eva) -"rs" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/westright,/turf/simulated/floor/tiled/dark,/area/outpost/research/eva) +"rs" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/westright,/obj/item/weapon/rig/hazmat,/turf/simulated/floor/tiled/dark,/area/outpost/research/eva) "rt" = (/obj/structure/sign/science{desc = "A warning sign which reads 'SCIENCE!'. It has fine print below it reading 'May or may not contain spiders'."},/turf/simulated/wall/r_wall,/area/outpost/research/eva) "ru" = (/obj/machinery/chem_master,/obj/effect/floor_decal/corner/beige/full,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) "rv" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/outpost/research/analysis) @@ -1908,7 +1908,7 @@ "KJ" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored) "KK" = (/obj/machinery/light{dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/outpost/engineering/kitchen) "KL" = (/obj/machinery/light{dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/outpost/engineering/kitchen) -"KM" = (/obj/machinery/doorbell_chime{name = "Cargo request chime"; desc = "Small wall-mounted chime triggered by a bell"; pixel_z = 1; pixel_w = -31; id_tag = "cargo_dinger"},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) +"KM" = (/obj/machinery/doorbell_chime{name = "Cargo request chime"; desc = "Small wall-mounted chime triggered by a bell"; pixel_z = 1; pixel_w = -31; id_tag = "cargo_dinger"},/obj/machinery/drone_fabricator/mining,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) "KN" = (/obj/machinery/alarm{pixel_y = 24},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/structure/closet/crate,/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/refinery) "KO" = (/obj/machinery/light/small,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) "KP" = (/obj/item/weapon/storage/backpack/satchel,/obj/structure/table/steel,/obj/machinery/doorbell_chime{name = "Cargo request chime"; desc = "Small wall-mounted chime triggered by a bell"; pixel_z = 2; pixel_w = -28; id_tag = "cargo_dinger"},/turf/simulated/floor/tiled,/area/outpost/mining_main/eva) @@ -2113,6 +2113,7 @@ "OG" = (/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/structure/closet/emcloset,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/tiled/white,/area/outpost/medical/main_room) "OH" = (/turf/simulated/wall,/area/outpost/medical/hallway) "OI" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/outpost/medical/hallway) +"OJ" = (/obj/machinery/computer/drone_control{name = "Mining Drone Control"},/turf/simulated/floor/tiled/dark,/area/outpost/mining_main/storage) "OL" = (/turf/simulated/wall/r_wall,/area/outpost/medical/hallway) "OM" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "med_outpost_airlock2_vent"},/turf/simulated/floor/tiled/white,/area/outpost/medical/airlocks) "ON" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "med_outpost_airlock2_vent"},/obj/machinery/camera/network/medbay{c_tag = "Med Outpost - Airlock 2"; dir = 1},/turf/simulated/floor/tiled/white,/area/outpost/medical/airlocks) @@ -2450,7 +2451,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadyYzBCLyZzBCLyZCM aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadyYyZyZyZyZyZyYyYyYDcAlAmAiDeDfDfDfDgDgDgDgDgDfDguWdnFcKSKTdndnadadAXAXAXDhDiDhAXAXAXadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaddnadadadaddndnadadadadadadadadadadadaddnadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadDjDjDkDkDkDlDmDlDjDjDnDoCODfDfDqDrDqDsDsDtDuDvDtkReJFieJdndndnadadadadAXAXAXAXAXadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaddndndndndndndnadadadadadadadadadadadadaddnadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadDjKMDwDwDwDwDwDxDyDzDAENDCDDDEDFDGDHDIDJDKDLDMDNeJFidndndndnadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadLEdnadadadadadadadaddnadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadDjDjDODwDwDPDwDQDRDSDTDdDVDWDXDYDZEaEaDtEbEcDtqOeJFidndndnadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaddndndnadadadadadaddnadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadDjDjOJDwDwDPDwDQDRDSDTDdDVDWDXDYDZEaEaDtEbEcDtqOeJFidndndnadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaddndndnadadadadadaddnadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadDjDODwEdEeEfEfEgEhEiDpEkElEmEnEaEaEoDfEpEqDgdneJFiadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaddndnadadaddndndnadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadDjDjErEsEtEsEsEuEvEwDBEyEzEzEAEzEBDfDfdndndneJFcKTadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaddndndndndnadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadDjDjECEDDwDwEEEFEGDUDgEaEaEIEJDfDfdndndnFcKSKTadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaddndnadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa