From 6fd7f5741fa0a1b3c5280675dfb5cbe020f1802b Mon Sep 17 00:00:00 2001 From: Isaac Erwin Date: Sun, 3 Jul 2016 16:16:26 -0400 Subject: [PATCH 1/2] Changes the janiborg's mop into an advanced mop with limitless water Now the mop is potentially actually useful. How does it get water? Bluespace, of course. --- code/game/objects/items/weapons/mop.dm | 19 +++++++++++++------ .../mob/living/silicon/robot/robot_modules.dm | 2 +- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 7fad9cbbe5f..a968acd35a3 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -15,14 +15,18 @@ var/mopcount = 0 var/mopcap = 5 var/mopspeed = 30 - + var/cyborg = 0 /obj/item/weapon/mop/New() create_reagents(mopcap) - janitorial_equipment += src + if(cyborg) + reagents.add_reagent("water", mopcap) + else + janitorial_equipment += src /obj/item/weapon/mop/Destroy() - janitorial_equipment -= src + if(!cyborg) + janitorial_equipment -= src return ..() /obj/item/weapon/mop/proc/clean(turf/simulated/A) @@ -32,8 +36,8 @@ if(is_cleanable(O)) qdel(O) reagents.reaction(A, TOUCH, 10) //10 is the multiplier for the reaction effect. probably needed to wet the floor properly. - reagents.remove_any(1) //reaction() doesn't use up the reagents - + if(!cyborg) + reagents.remove_any(1) //reaction() doesn't use up the reagents /obj/item/weapon/mop/afterattack(atom/A, mob/user, proximity) if(!proximity) return @@ -80,4 +84,7 @@ force = 6 throwforce = 8 throw_range = 4 - mopspeed = 20 \ No newline at end of file + mopspeed = 20 +/obj/item/weapon/mop/advanced/cyborg/ + cyborg = 1 + mopcap = 1 \ 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 7fb1ba0a8aa..9944bf39b72 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -230,7 +230,7 @@ src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/weapon/soap/nanotrasen(src) src.modules += new /obj/item/weapon/storage/bag/trash/cyborg(src) - src.modules += new /obj/item/weapon/mop(src) + src.modules += new /obj/item/weapon/mop/advanced/cyborg(src) src.modules += new /obj/item/device/lightreplacer(src) src.modules += new /obj/item/weapon/holosign_creator(src) src.emag = new /obj/item/weapon/reagent_containers/spray(src) From 1b8c43b840ba1ce0cd0d693d1813608c1469c87d Mon Sep 17 00:00:00 2001 From: Isaac Erwin Date: Mon, 4 Jul 2016 19:19:16 -0400 Subject: [PATCH 2/2] The mop now stores 40 units of water instead of having unlimited water, water must be recharged at a cyborg recharger or in a mop bucket --- code/game/machinery/rechargestation.dm | 3 +++ code/game/objects/items/weapons/mop.dm | 26 ++++++++++++++------------ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index a1559c4fb3a..e7a235b5db6 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -227,6 +227,9 @@ var/i = 1 for(1, i <= coeff, i++) LR.Charge(occupant) + if(istype(O,/obj/item/weapon/mop/advanced)) + if(O.reagents.get_reagent_amount("water") < 40) + O.reagents.add_reagent("water", 0.5 * coeff) if(R) if(R.module) R.module.respawn_consumable(R) diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index a968acd35a3..69d04cd4c29 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -15,18 +15,13 @@ var/mopcount = 0 var/mopcap = 5 var/mopspeed = 30 - var/cyborg = 0 /obj/item/weapon/mop/New() create_reagents(mopcap) - if(cyborg) - reagents.add_reagent("water", mopcap) - else - janitorial_equipment += src + janitorial_equipment += src /obj/item/weapon/mop/Destroy() - if(!cyborg) - janitorial_equipment -= src + janitorial_equipment -= src return ..() /obj/item/weapon/mop/proc/clean(turf/simulated/A) @@ -36,8 +31,7 @@ if(is_cleanable(O)) qdel(O) reagents.reaction(A, TOUCH, 10) //10 is the multiplier for the reaction effect. probably needed to wet the floor properly. - if(!cyborg) - reagents.remove_any(1) //reaction() doesn't use up the reagents + reagents.remove_any(1) //reaction() doesn't use up the reagents /obj/item/weapon/mop/afterattack(atom/A, mob/user, proximity) if(!proximity) return @@ -85,6 +79,14 @@ throwforce = 8 throw_range = 4 mopspeed = 20 -/obj/item/weapon/mop/advanced/cyborg/ - cyborg = 1 - mopcap = 1 \ No newline at end of file + +/obj/item/weapon/mop/advanced/cyborg + mopcap = 40 + +/obj/item/weapon/mop/advanced/cyborg/New() + ..() + reagents.add_reagent("water", mopcap) + +/obj/item/weapon/mop/advanced/cyborg/examine(mob/user) + ..(user) + to_chat(user, "The mop's water tank has [round(reagents.get_reagent_amount("water"))] units of water left.") \ No newline at end of file