diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index cd2c194efe9..2ebee6885a7 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -236,12 +236,12 @@ RCD /obj/item/weapon/rcd/borg/useResource(var/amount, var/mob/user) if(!isrobot(user)) return 0 - return user:cell:use(amount * 30) + return user:cell:use(amount * 160) /obj/item/weapon/rcd/borg/checkResource(var/amount, var/mob/user) if(!isrobot(user)) return 0 - return user:cell:charge >= (amount * 30) + return user:cell:charge >= (amount * 160) /obj/item/weapon/rcd/borg/New() ..() diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm index a9b7a84d07a..dfa801de220 100644 --- a/code/modules/mob/living/silicon/robot/examine.dm +++ b/code/modules/mob/living/silicon/robot/examine.dm @@ -9,15 +9,17 @@ var/msg = "*---------*\nThis is \icon[src] \a [src]!\n" msg += "" if (src.getBruteLoss()) - if (src.getBruteLoss() < 75) + if (src.getBruteLoss() < 30) msg += "It looks slightly dented.\n" else msg += "It looks severely dented!\n" if (src.getFireLoss()) - if (src.getFireLoss() < 75) + if (src.getFireLoss() < 30) msg += "It looks slightly charred.\n" else msg += "It looks severely burnt and heat-warped!\n" + if (src.health < config.health_threshold_crit) + msg += "It looks barely operational.\n" msg += "" if(opened) diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index e25a987aadb..a9eef2e3802 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -67,7 +67,7 @@ else src.camera.status = 1 - health = 200 - (getOxyLoss() + getFireLoss() + getBruteLoss()) + health = maxHealth - (getOxyLoss() + getFireLoss() + getBruteLoss()) if(getOxyLoss() > 50) Paralyse(3) @@ -81,6 +81,11 @@ if(health < config.health_threshold_dead && src.stat != 2) //die only once death() + if(health < config.health_threshold_crit) //Borg enters 'critically damaged' state + if(src.module_state_1 || src.module_state_2 || src.module_state_3) + uneq_all() + src << "SYSTEM ERROR: Critical damage sustained - Modules are unresponsive." + if (src.stat != 2) //Alive. if (src.paralysis || src.stunned || src.weakened) //Stunned etc. src.stat = 1 @@ -167,15 +172,15 @@ if (src.healths) if (src.stat != 2) switch(health) - if(200 to INFINITY) + if(100 to INFINITY) src.healths.icon_state = "health0" - if(150 to 200) + if(75 to 100) src.healths.icon_state = "health1" - if(100 to 150) + if(50 to 75) src.healths.icon_state = "health2" - if(50 to 100) + if(25 to 50) src.healths.icon_state = "health3" - if(0 to 50) + if(0 to 25) src.healths.icon_state = "health4" if(config.health_threshold_dead to 0) src.healths.icon_state = "health5" diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 78a2070aedc..cf802c25531 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -3,8 +3,8 @@ real_name = "Cyborg" icon = 'icons/mob/robots.dmi'// icon_state = "robot" - maxHealth = 300 - health = 300 + maxHealth = 100 + health = 100 var/sight_mode = 0 var/custom_name = "" @@ -406,6 +406,12 @@ if (istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W + if (src.health >= src.maxHealth) + user << "[src] is already in good condition." + return + if (src == user) + user << "You lack the reach to be able to repair yourself." + return if (WT.remove_fuel(0)) adjustBruteLoss(-30) updatehealth() diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index eb4beedb20c..77bfcf8ee2a 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -100,6 +100,10 @@ G.amount = 50 modules += G + var/obj/item/stack/rods/R = new /obj/item/stack/rods(src) + R.amount = 50 + modules += R + var/obj/item/weapon/cable_coil/W = new /obj/item/weapon/cable_coil(src) W.amount = 50 modules += W @@ -109,6 +113,7 @@ var/list/what = list ( /obj/item/stack/sheet/metal, /obj/item/stack/sheet/rglass, + /obj/item/stack/rods, /obj/item/weapon/cable_coil, ) for(var/T in what) diff --git a/html/changelog.html b/html/changelog.html index f7f0c4a23a1..7f5392c46ea 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -49,7 +49,17 @@ should be listed in the changelog upon commit tho. Thanks. --> - +
+

14 May 2013

+

Ikarrus updated:

+ +

5 May 2013