From 16b97cd58f6019acc85a201c5426385e4f3db1b4 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Mon, 12 May 2014 16:01:39 +0930 Subject: [PATCH] Simplified robot repairs a lot for drones. No more organ damage for them. Conflicts: code/modules/mob/living/silicon/robot/robot.dm --- baystation12.dme | 1 + .../silicon/robot/drone/drone_damage.dm | 24 +++++++++++++++++++ .../modules/mob/living/silicon/robot/robot.dm | 3 ++- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 code/modules/mob/living/silicon/robot/drone/drone_damage.dm diff --git a/baystation12.dme b/baystation12.dme index 26cddade91d..7b74c6a69f8 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1118,6 +1118,7 @@ #include "code\modules\mob\living\silicon\robot\drone\drone.dm" #include "code\modules\mob\living\silicon\robot\drone\drone_abilities.dm" #include "code\modules\mob\living\silicon\robot\drone\drone_console.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_damage.dm" #include "code\modules\mob\living\silicon\robot\drone\drone_items.dm" #include "code\modules\mob\living\silicon\robot\drone\drone_manufacturer.dm" #include "code\modules\mob\living\simple_animal\bees.dm" diff --git a/code/modules/mob/living/silicon/robot/drone/drone_damage.dm b/code/modules/mob/living/silicon/robot/drone/drone_damage.dm new file mode 100644 index 00000000000..57ffc898873 --- /dev/null +++ b/code/modules/mob/living/silicon/robot/drone/drone_damage.dm @@ -0,0 +1,24 @@ +//Redefining some robot procs, since drones can't be repaired and really shouldn't take component damage. +/mob/living/silicon/robot/drone/take_overall_damage(var/brute = 0, var/burn = 0, var/sharp = 0, var/used_weapon = null) + bruteloss += brute + fireloss += burn + +/mob/living/silicon/robot/drone/heal_overall_damage(var/brute, var/burn) + + bruteloss -= brute + fireloss -= burn + + if(bruteloss<0) bruteloss = 0 + if(fireloss<0) fireloss = 0 + +/mob/living/silicon/robot/drone/take_organ_damage(var/brute = 0, var/burn = 0, var/sharp = 0) + take_overall_damage(brute,burn) + +/mob/living/silicon/robot/drone/heal_organ_damage(var/brute, var/burn) + heal_overall_damage(brute,burn) + +/mob/living/silicon/robot/drone/getFireLoss() + return fireloss + +/mob/living/silicon/robot/drone/getBruteLoss() + return bruteloss \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 142bfe2255b..2c60ed52090 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -641,7 +641,8 @@ user << "Need more welding fuel!" return - else if(istype(W, /obj/item/stack/cable_coil) && wiresexposed) + + else if(istype(W, /obj/item/stack/cable_coil) && (wiresexposed || istype(src,/mob/living/silicon/robot/drone))) if (!getFireLoss()) user << "Nothing to fix here!" return