From d2ea8568a86b299fafde6fcac8b19f7b6fa489e3 Mon Sep 17 00:00:00 2001 From: Yoshax Date: Sun, 20 Nov 2016 19:41:25 +0000 Subject: [PATCH] All robots now get crowbars, flashes and fire extinguishers --- code/modules/events/event_dynamic.dm | 8 +- .../modules/mob/living/silicon/robot/robot.dm | 2 +- .../mob/living/silicon/robot/robot_modules.dm | 145 ++++++++---------- .../mob/living/silicon/robot/syndicate.dm | 2 +- 4 files changed, 68 insertions(+), 89 deletions(-) diff --git a/code/modules/events/event_dynamic.dm b/code/modules/events/event_dynamic.dm index 99b4855d73..9f8eca869c 100644 --- a/code/modules/events/event_dynamic.dm +++ b/code/modules/events/event_dynamic.dm @@ -196,13 +196,13 @@ var/list/event_last_fired = list() if(istype(M, /mob/living/silicon/robot)) var/mob/living/silicon/robot/R = M if(R.module) - if(istype(R.module, /obj/item/weapon/robot_module/engineering)) + if(istype(R.module, /obj/item/weapon/robot_module/robot/engineering)) active_with_role["Engineer"]++ - else if(istype(R.module, /obj/item/weapon/robot_module/security)) + else if(istype(R.module, /obj/item/weapon/robot_module/robot/security)) active_with_role["Security"]++ - else if(istype(R.module, /obj/item/weapon/robot_module/medical)) + else if(istype(R.module, /obj/item/weapon/robot_module/robot/medical)) active_with_role["Medical"]++ - else if(istype(R.module, /obj/item/weapon/robot_module/research)) + else if(istype(R.module, /obj/item/weapon/robot_module/robot/research)) active_with_role["Scientist"]++ if(M.mind.assigned_role in engineering_positions) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 2e666cff99..27a98d5d01 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -826,7 +826,7 @@ . = ..() if(module) - if(module.type == /obj/item/weapon/robot_module/janitor) + if(module.type == /obj/item/weapon/robot_module/robot/janitor) var/turf/tile = loc if(isturf(tile)) tile.clean_blood() diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 879f3f4cc5..274d0c7391 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -1,16 +1,16 @@ var/global/list/robot_modules = list( - "Standard" = /obj/item/weapon/robot_module/standard, - "Service" = /obj/item/weapon/robot_module/clerical/butler, - "Clerical" = /obj/item/weapon/robot_module/clerical/general, - "Research" = /obj/item/weapon/robot_module/research, - "Miner" = /obj/item/weapon/robot_module/miner, - "Crisis" = /obj/item/weapon/robot_module/medical/crisis, - "Surgeon" = /obj/item/weapon/robot_module/medical/surgeon, - "Security" = /obj/item/weapon/robot_module/security/general, - "Combat" = /obj/item/weapon/robot_module/security/combat, - "Engineering" = /obj/item/weapon/robot_module/engineering/general, - "Construction" = /obj/item/weapon/robot_module/engineering/construction, - "Janitor" = /obj/item/weapon/robot_module/janitor + "Standard" = /obj/item/weapon/robot_module/robot/standard, + "Service" = /obj/item/weapon/robot_module/robot/clerical/butler, + "Clerical" = /obj/item/weapon/robot_module/robot/clerical/general, + "Research" = /obj/item/weapon/robot_module/robot/research, + "Miner" = /obj/item/weapon/robot_module/robot/miner, + "Crisis" = /obj/item/weapon/robot_module/robot/medical/crisis, + "Surgeon" = /obj/item/weapon/robot_module/robot/medical/surgeon, + "Security" = /obj/item/weapon/robot_module/robot/security/general, + "Combat" = /obj/item/weapon/robot_module/robot/security/combat, + "Engineering" = /obj/item/weapon/robot_module/robot/engineering/general, + "Construction" = /obj/item/weapon/robot_module/robot/engineering/construction, + "Janitor" = /obj/item/weapon/robot_module/robot/janitor ) /obj/item/weapon/robot_module @@ -149,6 +149,13 @@ var/global/list/robot_modules = list( if(!can_be_pushed) R.status_flags |= CANPUSH +// Cyborgs (non-drones), default loadout. This will be given to every module. +/obj/item/weapon/robot_module/robot/New() + ..() + src.modules += new /obj/item/device/flash(src) + src.modules += new /obj/item/weapon/crowbar(src) + src.modules += new /obj/item/weapon/extinguisher(src) + /obj/item/weapon/robot_module/standard name = "standard robot module" sprites = list( "Basic" = "robot_old", @@ -157,24 +164,21 @@ var/global/list/robot_modules = list( "Drone" = "drone-standard" ) -/obj/item/weapon/robot_module/standard/New() - src.modules += new /obj/item/device/flash(src) +/obj/item/weapon/robot_module/robot/standard/New() + ..() src.modules += new /obj/item/weapon/melee/baton/loaded(src) - src.modules += new /obj/item/weapon/extinguisher(src) src.modules += new /obj/item/weapon/wrench(src) - src.modules += new /obj/item/weapon/crowbar(src) src.modules += new /obj/item/device/healthanalyzer(src) src.emag = new /obj/item/weapon/melee/energy/sword(src) - ..() -/obj/item/weapon/robot_module/medical +/obj/item/weapon/robot_module/robot/medical name = "medical robot module" channels = list("Medical" = 1) networks = list(NETWORK_MEDICAL) subsystems = list(/mob/living/silicon/proc/subsystem_crew_monitor) can_be_pushed = 0 -/obj/item/weapon/robot_module/medical/surgeon +/obj/item/weapon/robot_module/robot/medical/surgeon name = "surgeon robot module" sprites = list( "Basic" = "Medbot", @@ -184,8 +188,8 @@ var/global/list/robot_modules = list( "Drone" = "drone-surgery" ) -/obj/item/weapon/robot_module/medical/surgeon/New() - src.modules += new /obj/item/device/flash(src) +/obj/item/weapon/robot_module/medical/robot/surgeon/New() + ..() src.modules += new /obj/item/device/healthanalyzer(src) src.modules += new /obj/item/weapon/reagent_containers/borghypo(src) src.modules += new /obj/item/weapon/scalpel(src) @@ -198,7 +202,6 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/circular_saw(src) src.modules += new /obj/item/weapon/surgicaldrill(src) src.modules += new /obj/item/weapon/gripper/no_use/organ(src) - src.modules += new /obj/item/weapon/extinguisher/mini(src) src.emag = new /obj/item/weapon/reagent_containers/spray(src) src.emag.reagents.add_reagent("pacid", 250) src.emag.name = "Polyacid spray" @@ -217,15 +220,13 @@ var/global/list/robot_modules = list( src.modules += N src.modules += B - ..() - -/obj/item/weapon/robot_module/medical/surgeon/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) +/obj/item/weapon/robot_module/medical/robot/surgeon/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) if(src.emag) var/obj/item/weapon/reagent_containers/spray/PS = src.emag PS.reagents.add_reagent("pacid", 2 * amount) ..() -/obj/item/weapon/robot_module/medical/crisis +/obj/item/weapon/robot_module/robot/medical/crisis name = "crisis robot module" sprites = list( "Basic" = "Medbot", @@ -236,8 +237,8 @@ var/global/list/robot_modules = list( "Drone - Chemistry" = "drone-chemistry" ) -/obj/item/weapon/robot_module/medical/crisis/New() - src.modules += new /obj/item/device/flash(src) +/obj/item/weapon/robot_module/medical/robot/crisis/New() + ..() src.modules += new /obj/item/borg/sight/hud/med(src) src.modules += new /obj/item/device/healthanalyzer(src) src.modules += new /obj/item/device/reagent_scanner/adv(src) @@ -248,7 +249,6 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/reagent_containers/syringe(src) src.modules += new /obj/item/weapon/gripper/no_use/organ(src) src.modules += new /obj/item/weapon/gripper/chemistry(src) - src.modules += new /obj/item/weapon/extinguisher/mini(src) src.emag = new /obj/item/weapon/reagent_containers/spray(src) src.emag.reagents.add_reagent("pacid", 250) src.emag.name = "Polyacid spray" @@ -272,9 +272,7 @@ var/global/list/robot_modules = list( src.modules += B src.modules += S - ..() - -/obj/item/weapon/robot_module/medical/crisis/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) +/obj/item/weapon/robot_module/medical/robot/crisis/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) var/obj/item/weapon/reagent_containers/syringe/S = locate() in src.modules if(S.mode == 2) @@ -290,7 +288,7 @@ var/global/list/robot_modules = list( ..() -/obj/item/weapon/robot_module/engineering +/obj/item/weapon/robot_module/robot/engineering name = "engineering robot module" channels = list("Engineering" = 1) networks = list(NETWORK_ENGINEERING) @@ -303,18 +301,16 @@ var/global/list/robot_modules = list( "Drone" = "drone-engineer" ) -/obj/item/weapon/robot_module/engineering/construction +/obj/item/weapon/robot_module/robot/engineering/construction name = "construction robot module" no_slip = 1 /obj/item/weapon/robot_module/engineering/construction/New() - src.modules += new /obj/item/device/flash(src) + ..() src.modules += new /obj/item/borg/sight/meson(src) - src.modules += new /obj/item/weapon/extinguisher(src) src.modules += new /obj/item/weapon/rcd/borg(src) src.modules += new /obj/item/weapon/screwdriver(src) src.modules += new /obj/item/weapon/wrench(src) - src.modules += new /obj/item/weapon/crowbar(src) src.modules += new /obj/item/weapon/weldingtool/largetank(src) src.modules += new /obj/item/weapon/pickaxe/plasmacutter(src) src.modules += new /obj/item/device/pipe_painter(src) @@ -348,16 +344,12 @@ var/global/list/robot_modules = list( RG.synths = list(metal, glass) src.modules += RG +/obj/item/weapon/robot_module/robot/engineering/general/New() ..() - -/obj/item/weapon/robot_module/engineering/general/New() - src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/borg/sight/meson(src) - src.modules += new /obj/item/weapon/extinguisher(src) src.modules += new /obj/item/weapon/weldingtool/largetank(src) src.modules += new /obj/item/weapon/screwdriver(src) src.modules += new /obj/item/weapon/wrench(src) - src.modules += new /obj/item/weapon/crowbar(src) src.modules += new /obj/item/weapon/wirecutters(src) src.modules += new /obj/item/device/multitool(src) src.modules += new /obj/item/device/t_scanner(src) @@ -405,9 +397,7 @@ var/global/list/robot_modules = list( RG.synths = list(metal, glass) src.modules += RG - ..() - -/obj/item/weapon/robot_module/security +/obj/item/weapon/robot_module/robot/security name = "security robot module" channels = list("Security" = 1) networks = list(NETWORK_SECURITY) @@ -415,7 +405,7 @@ var/global/list/robot_modules = list( can_be_pushed = 0 supported_upgrades = list(/obj/item/borg/upgrade/tasercooler) -/obj/item/weapon/robot_module/security/general +/obj/item/weapon/robot_module/robot/security/general sprites = list( "Basic" = "secborg", "Red Knight" = "Security", @@ -426,7 +416,7 @@ var/global/list/robot_modules = list( ) /obj/item/weapon/robot_module/security/general/New() - src.modules += new /obj/item/device/flash(src) + ..() src.modules += new /obj/item/borg/sight/hud/sec(src) src.modules += new /obj/item/weapon/handcuffs/cyborg(src) src.modules += new /obj/item/weapon/melee/baton/robot(src) @@ -434,9 +424,8 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/taperoll/police(src) src.modules += new /obj/item/weapon/reagent_containers/spray/pepper(src) src.emag = new /obj/item/weapon/gun/energy/laser/mounted(src) - ..() -/obj/item/weapon/robot_module/security/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) +/obj/item/weapon/robot_module/robot/security/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) var/obj/item/device/flash/F = locate() in src.modules if(F.broken) F.broken = 0 @@ -454,7 +443,7 @@ var/global/list/robot_modules = list( if(B && B.bcell) B.bcell.give(amount) -/obj/item/weapon/robot_module/janitor +/obj/item/weapon/robot_module/robot/janitor name = "janitorial robot module" channels = list("Service" = 1) sprites = list( @@ -464,8 +453,8 @@ var/global/list/robot_modules = list( "Drone" = "drone-janitor" ) -/obj/item/weapon/robot_module/janitor/New() - src.modules += new /obj/item/device/flash(src) +/obj/item/weapon/robot_module/robot/janitor/New() + ..() src.modules += new /obj/item/weapon/soap/nanotrasen(src) src.modules += new /obj/item/weapon/storage/bag/trash(src) src.modules += new /obj/item/weapon/mop(src) @@ -473,16 +462,15 @@ var/global/list/robot_modules = list( src.emag = new /obj/item/weapon/reagent_containers/spray(src) src.emag.reagents.add_reagent("lube", 250) src.emag.name = "Lube spray" - ..() -/obj/item/weapon/robot_module/janitor/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) +/obj/item/weapon/robot_module/robot/janitor/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) var/obj/item/device/lightreplacer/LR = locate() in src.modules LR.Charge(R, amount) if(src.emag) var/obj/item/weapon/reagent_containers/spray/S = src.emag S.reagents.add_reagent("lube", 2 * amount) -/obj/item/weapon/robot_module/clerical +/obj/item/weapon/robot_module/robot/clerical name = "service robot module" channels = list("Service" = 1) languages = list( @@ -496,7 +484,7 @@ var/global/list/robot_modules = list( LANGUAGE_SCHECHI = 1 ) -/obj/item/weapon/robot_module/clerical/butler +/obj/item/weapon/robot_module/robot/clerical/butler sprites = list( "Waitress" = "Service", "Kent" = "toiletbot", "Bro" = "Brobot", @@ -506,8 +494,8 @@ var/global/list/robot_modules = list( "Drone - Hydro" = "drone-hydro" ) -/obj/item/weapon/robot_module/clerical/butler/New() - src.modules += new /obj/item/device/flash(src) +/obj/item/weapon/robot_module/robot/clerical/butler/New() + ..() src.modules += new /obj/item/weapon/gripper/service(src) src.modules += new /obj/item/weapon/reagent_containers/glass/bucket(src) src.modules += new /obj/item/weapon/material/minihoe(src) @@ -537,9 +525,8 @@ var/global/list/robot_modules = list( R.my_atom = src.emag R.add_reagent("beer2", 50) src.emag.name = "Mickey Finn's Special Brew" - ..() -/obj/item/weapon/robot_module/clerical/general +/obj/item/weapon/robot_module/robot/clerical/general name = "clerical robot module" sprites = list( "Waitress" = "Service", @@ -551,7 +538,7 @@ var/global/list/robot_modules = list( ) /obj/item/weapon/robot_module/clerical/general/New() - src.modules += new /obj/item/device/flash(src) + ..() src.modules += new /obj/item/weapon/pen/robopen(src) src.modules += new /obj/item/weapon/form_printer(src) src.modules += new /obj/item/weapon/gripper/paperwork(src) @@ -568,7 +555,7 @@ var/global/list/robot_modules = list( var/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/B = src.emag B.reagents.add_reagent("beer2", 2 * amount) -/obj/item/weapon/robot_module/miner +/obj/item/weapon/robot_module/robot/miner name = "miner robot module" channels = list("Supply" = 1) networks = list(NETWORK_MINE) @@ -581,7 +568,7 @@ var/global/list/robot_modules = list( supported_upgrades = list(/obj/item/borg/upgrade/jetpack) /obj/item/weapon/robot_module/miner/New() - src.modules += new /obj/item/device/flash(src) + ..() src.modules += new /obj/item/borg/sight/material(src) src.modules += new /obj/item/weapon/wrench(src) src.modules += new /obj/item/weapon/screwdriver(src) @@ -590,11 +577,9 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src) src.modules += new /obj/item/weapon/gripper/miner(src) src.modules += new /obj/item/weapon/mining_scanner(src) - src.modules += new /obj/item/weapon/crowbar(src) src.emag = new /obj/item/weapon/pickaxe/plasmacutter(src) - ..() -/obj/item/weapon/robot_module/research +/obj/item/weapon/robot_module/robot/research name = "research module" channels = list("Science" = 1) sprites = list( @@ -602,8 +587,8 @@ var/global/list/robot_modules = list( "Drone" = "drone-science" ) -/obj/item/weapon/robot_module/research/New() - src.modules += new /obj/item/device/flash(src) +/obj/item/weapon/robot_module/robot/research/New() + ..() src.modules += new /obj/item/weapon/portable_destructive_analyzer(src) src.modules += new /obj/item/weapon/gripper/research(src) src.modules += new /obj/item/weapon/gripper/no_use/organ/robotics(src) @@ -614,12 +599,10 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/weldingtool/largetank(src) src.modules += new /obj/item/weapon/screwdriver(src) src.modules += new /obj/item/weapon/wrench(src) - src.modules += new /obj/item/weapon/crowbar(src) src.modules += new /obj/item/weapon/wirecutters(src) src.modules += new /obj/item/device/multitool(src) src.modules += new /obj/item/weapon/scalpel(src) src.modules += new /obj/item/weapon/circular_saw(src) - src.modules += new /obj/item/weapon/extinguisher/mini(src) src.modules += new /obj/item/weapon/reagent_containers/syringe(src) src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large(src) src.emag = new /obj/item/weapon/hand_tele(src) @@ -639,9 +622,7 @@ var/global/list/robot_modules = list( C.synths = list(wire) src.modules += C - ..() - -/obj/item/weapon/robot_module/syndicate +/obj/item/weapon/robot_module/robot/syndicate name = "illegal robot module" hide_on_manifest = 1 languages = list( @@ -659,9 +640,9 @@ var/global/list/robot_modules = list( ) var/id -/obj/item/weapon/robot_module/syndicate/New(var/mob/living/silicon/robot/R) +/obj/item/weapon/robot_module/robot/syndicate/New(var/mob/living/silicon/robot/R) + ..() loc = R - src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/weapon/melee/energy/sword(src) src.modules += new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(src) src.modules += new /obj/item/weapon/card/emag(src) @@ -671,19 +652,19 @@ var/global/list/robot_modules = list( id = R.idcard src.modules += id - ..() -/obj/item/weapon/robot_module/syndicate/Destroy() +/obj/item/weapon/robot_module/robot/syndicate/Destroy() src.modules -= id id = null return ..() -/obj/item/weapon/robot_module/security/combat +/obj/item/weapon/robot_module/robot/security/combat name = "combat robot module" hide_on_manifest = 1 sprites = list("Combat Android" = "droid-combat") -/obj/item/weapon/robot_module/security/combat/New() +/obj/item/weapon/robot_module/robot/security/combat/New() + ..() src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/borg/sight/thermal(src) src.modules += new /obj/item/weapon/gun/energy/laser/mounted(src) @@ -691,7 +672,6 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/borg/combat/shield(src) src.modules += new /obj/item/borg/combat/mobility(src) src.emag = new /obj/item/weapon/gun/energy/lasercannon/mounted(src) - ..() /obj/item/weapon/robot_module/drone name = "drone module" @@ -700,6 +680,7 @@ var/global/list/robot_modules = list( networks = list(NETWORK_ENGINEERING) /obj/item/weapon/robot_module/drone/New(var/mob/living/silicon/robot/robot) + ..() src.modules += new /obj/item/weapon/weldingtool(src) src.modules += new /obj/item/weapon/screwdriver(src) src.modules += new /obj/item/weapon/wrench(src) @@ -774,8 +755,6 @@ var/global/list/robot_modules = list( P.synths = list(plastic) src.modules += P - ..() - /obj/item/weapon/robot_module/drone/construction name = "construction drone module" hide_on_manifest = 1 @@ -783,8 +762,8 @@ var/global/list/robot_modules = list( languages = list() /obj/item/weapon/robot_module/drone/construction/New() - src.modules += new /obj/item/weapon/rcd/borg(src) ..() + src.modules += new /obj/item/weapon/rcd/borg(src) /obj/item/weapon/robot_module/drone/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) var/obj/item/device/lightreplacer/LR = locate() in src.modules diff --git a/code/modules/mob/living/silicon/robot/syndicate.dm b/code/modules/mob/living/silicon/robot/syndicate.dm index af46cd6fcf..acd441171b 100644 --- a/code/modules/mob/living/silicon/robot/syndicate.dm +++ b/code/modules/mob/living/silicon/robot/syndicate.dm @@ -20,7 +20,7 @@ laws = new /datum/ai_laws/syndicate_override overlays.Cut() init_id() - new /obj/item/weapon/robot_module/syndicate(src) + new /obj/item/weapon/robot_module/robot/syndicate(src) radio.keyslot = new /obj/item/device/encryptionkey/syndicate(radio) radio.recalculateChannels()