From 4b8d5c4f143d3f262c286bdf9f3e6c78b604819f Mon Sep 17 00:00:00 2001 From: Segrain Date: Tue, 4 Feb 2014 08:16:06 +0300 Subject: [PATCH] Code cleanup. --- code/game/machinery/rechargestation.dm | 64 +------------ .../mob/living/silicon/robot/robot_modules.dm | 89 +++++++++++++------ 2 files changed, 63 insertions(+), 90 deletions(-) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 9912e2e85d..8d5e888a97 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -57,7 +57,8 @@ if(src.occupant) if (istype(occupant, /mob/living/silicon/robot)) var/mob/living/silicon/robot/R = occupant - restock_modules() + if(R.module) + R.module.respawn_consumable(R) if(!R.cell) return else if(R.cell.charge >= R.cell.maxcharge) @@ -81,60 +82,6 @@ src.use_power = 1 return - restock_modules() - if(src.occupant) - if(istype(occupant, /mob/living/silicon/robot)) - var/mob/living/silicon/robot/R = occupant - if(R.module && R.module.modules) - var/list/um = R.contents|R.module.modules - // ^ makes sinle list of active (R.contents) and inactive modules (R.module.modules) - for(var/obj/O in um) - // Engineering - if(istype(O,/obj/item/stack/sheet/metal) || istype(O,/obj/item/stack/sheet/rglass) || istype(O,/obj/item/weapon/cable_coil)) - if(O:amount < 50) - O:amount += 1 - // Security - if(istype(O,/obj/item/device/flash)) - if(O:broken) - O:broken = 0 - O:times_used = 0 - O:icon_state = "flash" - if(istype(O,/obj/item/weapon/gun/energy/taser/cyborg)) - if(O:power_supply.charge < O:power_supply.maxcharge) - O:power_supply.give(O:charge_cost) - O:update_icon() - else - O:charge_tick = 0 - if(istype(O,/obj/item/weapon/melee/baton)) - if(O:charges < 10) - O:charges += 1 - //Service - if(istype(O,/obj/item/weapon/reagent_containers/food/condiment/enzyme)) - if(O.reagents.get_reagent_amount("enzyme") < 50) - O.reagents.add_reagent("enzyme", 2) - //Medical - if(istype(O,/obj/item/weapon/reagent_containers/glass/bottle/robot)) - var/obj/item/weapon/reagent_containers/glass/bottle/robot/B = O - if(B.reagent && (B.reagents.get_reagent_amount(B.reagent) < B.volume)) - B.reagents.add_reagent(B.reagent, 2) - //Janitor - if(istype(O, /obj/item/device/lightreplacer)) - var/obj/item/device/lightreplacer/LR = O - LR.Charge(R) - - if(R) - if(R.module) - R.module.respawn_consumable(R) - - //Emagged items for janitor and medical borg - if(R.module.emag) - if(istype(R.module.emag, /obj/item/weapon/reagent_containers/spray)) - var/obj/item/weapon/reagent_containers/spray/S = R.module.emag - if(S.name == "Polyacid spray") - S.reagents.add_reagent("pacid", 2) - else if(S.name == "Lube spray") - S.reagents.add_reagent("lube", 2) - verb move_eject() @@ -173,9 +120,4 @@ src.add_fingerprint(usr) build_icon() src.use_power = 2 - return - - - - - + return \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 523f37f63a..d0fb3bb5fe 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -44,7 +44,6 @@ /obj/item/weapon/robot_module/standard name = "standard robot module" - New() ..() src.modules += new /obj/item/weapon/melee/baton(src) @@ -55,12 +54,14 @@ src.emag = new /obj/item/weapon/melee/energy/sword(src) return - +/obj/item/weapon/robot_module/standard/respawn_consumable(var/mob/living/silicon/robot/R) + var/obj/item/weapon/melee/baton/B = locate() in src.modules + if(B.charges < 10) + B.charges += 1 /obj/item/weapon/robot_module/medical name = "medical robot module" - New() ..() src.modules += new /obj/item/borg/sight/hud/med(src) @@ -77,7 +78,16 @@ src.emag.name = "Polyacid spray" return - +/obj/item/weapon/robot_module/medical/respawn_consumable(var/mob/living/silicon/robot/R) + var/obj/item/weapon/reagent_containers/syringe/S = locate() in src.modules + if(S.mode == 2)//SYRINGE_BROKEN + S.reagents.clear_reagents() + S.mode = initial(S.mode) + S.desc = initial(S.desc) + S.update_icon() + if(src.emag) + var/obj/item/weapon/reagent_containers/spray/PS = src.emag + PS.reagents.add_reagent("pacid", 2) /obj/item/weapon/robot_module/engineering name = "engineering robot module" @@ -114,27 +124,27 @@ return - - respawn_consumable(var/mob/living/silicon/robot/R) - var/list/what = list ( - /obj/item/stack/sheet/metal, - /obj/item/stack/sheet/rglass, - /obj/item/weapon/cable_coil, - ) - for (var/T in what) - if (!(locate(T) in src.modules)) - src.modules -= null - var/O = new T(src) - src.modules += O - O:amount = 1 - return - - +/obj/item/weapon/robot_module/engineering/respawn_consumable(var/mob/living/silicon/robot/R) + var/list/stacks = list ( + /obj/item/stack/sheet/metal, + /obj/item/stack/sheet/rglass, + /obj/item/weapon/cable_coil, + ) + for(var/T in stacks) + var/O = locate(T) in src.modules + if(O) + if(O:amount < 50) + O:amount++ + else + src.modules -= null + O = new T(src) + src.modules += O + O:amount = 1 + return /obj/item/weapon/robot_module/security name = "security robot module" - New() ..() src.modules += new /obj/item/borg/sight/hud/sec(src) @@ -145,12 +155,27 @@ src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src) return - +/obj/item/weapon/robot_module/security/respawn_consumable(var/mob/living/silicon/robot/R) + var/obj/item/device/flash/F = locate() in src.modules + if(F.broken) + F.broken = 0 + F.times_used = 0 + F.icon_state = "flash" + else if(F.times_used) + F.times_used-- + var/obj/item/weapon/gun/energy/taser/cyborg/T = locate() in src.modules + if(T.power_supply.charge < T.power_supply.maxcharge) + T.power_supply.give(T.charge_cost) + T.update_icon() + else + T.charge_tick = 0 + var/obj/item/weapon/melee/baton/B = locate() in src.modules + if(B.charges < 10) + B.charges += 1 /obj/item/weapon/robot_module/janitor name = "janitorial robot module" - New() ..() src.modules += new /obj/item/weapon/soap/nanotrasen(src) @@ -163,12 +188,16 @@ src.emag.name = "Lube spray" return - +/obj/item/weapon/robot_module/janitor/respawn_consumable(var/mob/living/silicon/robot/R) + var/obj/item/device/lightreplacer/LR = locate() in src.modules + LR.Charge(R) + if(src.emag) + var/obj/item/weapon/reagent_containers/spray/S = src.emag + S.reagents.add_reagent("lube", 2) /obj/item/weapon/robot_module/butler name = "service robot module" - New() ..() src.modules += new /obj/item/weapon/reagent_containers/food/drinks/cans/beer(src) @@ -196,12 +225,16 @@ src.emag.name = "Mickey Finn's Special Brew" return - +/obj/item/weapon/robot_module/butler/respawn_consumable(var/mob/living/silicon/robot/R) + var/obj/item/weapon/reagent_containers/food/condiment/enzyme/E = locate() in src.modules + E.reagents.add_reagent("enzyme", 2) + if(src.emag) + var/obj/item/weapon/reagent_containers/food/drinks/cans/beer/B = src.emag + B.reagents.add_reagent("beer2", 2) /obj/item/weapon/robot_module/miner name = "miner robot module" - New() ..() src.modules += new /obj/item/borg/sight/meson(src) @@ -212,11 +245,9 @@ // src.modules += new /obj/item/weapon/shovel(src) Uneeded due to buffed drill return - /obj/item/weapon/robot_module/syndicate name = "syndicate robot module" - New() src.modules += new /obj/item/weapon/melee/energy/sword(src) src.modules += new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(src)