diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index c54b82be38e..9ee57c3c3e4 100644
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -72,7 +72,7 @@ obj/machinery/recharger/process()
if(E.power_supply.charge < E.power_supply.maxcharge)
E.power_supply.give(100)
icon_state = "recharger1"
- use_power(250)
+ use_power(250*CELLRATE)
else
icon_state = "recharger2"
return
@@ -81,7 +81,7 @@ obj/machinery/recharger/process()
if(B.bcell)
if(B.bcell.give(1500)) //Because otherwise it takes two minutes to fully charge due to 15k cells. - Neerti
icon_state = "recharger1"
- use_power(200)
+ use_power(200*CELLRATE)
else
icon_state = "recharger2"
else
@@ -92,7 +92,7 @@ obj/machinery/recharger/process()
if(L.stored_computer.battery.charge < L.stored_computer.battery.maxcharge)
L.stored_computer.battery.give(100)
icon_state = "recharger1"
- use_power(250)
+ use_power(250*CELLRATE)
else
icon_state = "recharger2"
return
@@ -136,7 +136,7 @@ obj/machinery/recharger/wallcharger/process()
if(E.power_supply.charge < E.power_supply.maxcharge)
E.power_supply.give(100)
icon_state = "wrecharger1"
- use_power(250)
+ use_power(250*CELLRATE)
else
icon_state = "wrecharger2"
return
@@ -145,7 +145,7 @@ obj/machinery/recharger/wallcharger/process()
if(B.bcell)
if(B.bcell.give(1500)) //Because otherwise it takes two minutes to fully charge due to 15k cells. - Neerti
icon_state = "wrecharger1"
- use_power(200)
+ use_power(200*CELLRATE)
else
icon_state = "wrecharger2"
else
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 68edece641e..2e497863a66 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -111,11 +111,18 @@
if(!status)
L.visible_message("[L] has been prodded with [src] by [user]. Luckily it was off.")
return
-
- if(status)
+
+ var/stunroll = (rand(1,100))
+
+ if(ishuman(L) && status)
user.lastattacked = L
L.lastattacker = user
-
+ if(user == L) // Attacking yourself can't miss
+ stunroll = 100
+ if(stunroll < 40)
+ L.visible_message("\red [user] misses [L] with \the [src]!")
+ msg_admin_attack("[key_name(user)] attempted to stun [key_name(L)] with the [src].")
+ return
L.Stun(stunforce)
L.Weaken(stunforce)
L.apply_effect(STUTTER, stunforce)
@@ -124,7 +131,7 @@
playsound(loc, 'sound/weapons/Egloves.ogg', 50, 1, -1)
msg_admin_attack("[key_name(user)] stunned [key_name(L)] with the [src].")
-
+
if(isrobot(loc))
var/mob/living/silicon/robot/R = loc
if(R && R.cell)
@@ -149,4 +156,4 @@
throwforce = 5
stunforce = 5
hitcost = 2500
- slot_flags = null
\ No newline at end of file
+ slot_flags = null
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index 6b38d9396b9..64d72508d31 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -177,7 +177,6 @@
item_state = "metalbat"
force = 18
w_class = 3.0
- m_amt = 18750 //5 sheets of metal per bat in the autolathe
/obj/item/weapon/butterfly
name = "butterfly knife"
@@ -213,12 +212,14 @@
desc = "A knife blade. Unusable as a weapon without a grip."
icon = 'icons/obj/buildingobject.dmi'
icon_state = "butterfly2"
+ matter = list("metal" = 5000)
/obj/item/butterflyhandle
name = "concealed knife grip"
desc = "A plasteel grip with screw fittings for a blade."
icon = 'icons/obj/buildingobject.dmi'
icon_state = "butterfly1"
+ matter = list("metal" = 4000)
/obj/item/butterflyhandle/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W,/obj/item/butterflyblade))
@@ -268,7 +269,6 @@ obj/item/weapon/wirerod
force = 8
throwforce = 10
w_class = 3
- m_amt = 1875
attack_verb = list("hit", "bludgeoned", "whacked", "bonked")
@@ -291,4 +291,4 @@ obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob)
del(I)
del(src)
update_icon(user)
- update_icon(user)
\ No newline at end of file
+ update_icon(user)
diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm
index df3b61e527c..502bf312c59 100644
--- a/code/modules/mob/living/carbon/human/human_damage.dm
+++ b/code/modules/mob/living/carbon/human/human_damage.dm
@@ -301,9 +301,9 @@ This function restores all organs.
if(!organ) return
if(istype(used_weapon,/obj/item/weapon))
var/obj/item/weapon/W = used_weapon //Sharp objects will always embed if they do enough damage.
- if( (damage > (4*W.w_class)) && ( (sharp && !ismob(W.loc)) || prob((damage*1.5)/W.w_class) ) )
+ if( (damage > (5*W.w_class)) && ( (sharp && !ismob(W.loc)) || prob((damage*1.5)/W.w_class) ) )
organ.embed(W)
- else if( (damage > (4*W.w_class)) && ((!ismob(W.loc) && !sharp)) || (prob(damage/W.w_class) ) )
+ else if( (damage > (5*W.w_class)) && ((!ismob(W.loc) && !sharp)) || (prob((damage - 2)/W.w_class) ) )
organ.embed(W)
return 1
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index e7120c1f1c0..4a28983f75d 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -987,10 +987,11 @@ mob/proc/yank_out_object()
affected = organ
affected.implants -= selection
- H.shock_stage+=10
+ H.shock_stage+=20
H.bloody_hands(S)
+ affected.take_damage((selection.w_class * 3), 0, 0, 1, "Embedded object extraction")
- if(prob(40)) //I'M SO ANEMIC I COULD JUST -DIE-.
+ if(prob(selection.w_class * 5)) //I'M SO ANEMIC I COULD JUST -DIE-.
var/datum/wound/internal_bleeding/I = new (15)
affected.wounds += I
H.custom_pain("Something tears wetly in your [affected] as [selection] is pulled free!", 1)