diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm
index 6a45f0e4765..c2c7d247809 100644
--- a/code/game/gamemodes/blob/theblob.dm
+++ b/code/game/gamemodes/blob/theblob.dm
@@ -42,10 +42,8 @@
/obj/effect/blob/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
..()
- var/damage = Clamp(0.01 * exposed_temperature / fire_resist, 0, 4 - fire_resist)
- if(damage)
- health -= damage
- update_icon()
+ var/damage = Clamp(0.01 * exposed_temperature, 0, 4)
+ take_damage(damage, BURN)
/obj/effect/blob/proc/Life()
return
@@ -132,21 +130,12 @@
/obj/effect/blob/ex_act(severity, target)
..()
- var/damage = 150
- health -= ((damage/brute_resist) - (severity * 5))
- update_icon()
- return
-
+ var/damage = 150 - 20 * severity
+ take_damage(damage, BRUTE)
/obj/effect/blob/bullet_act(var/obj/item/projectile/Proj)
..()
- switch(Proj.damage_type)
- if(BRUTE)
- health -= (Proj.damage/brute_resist)
- if(BURN)
- health -= (Proj.damage/fire_resist)
-
- update_icon()
+ take_damage(Proj.damage, Proj.damage_type)
return 0
/obj/effect/blob/Crossed(var/mob/living/L)
@@ -159,18 +148,9 @@
user.do_attack_animation(src)
playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1)
visible_message("[user] has attacked the [src.name] with \the [W]!")
- var/damage = 0
- switch(W.damtype)
- if("fire")
- damage = (W.force / max(src.fire_resist,1))
- if(istype(W, /obj/item/weapon/weldingtool))
- playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
- if("brute")
- damage = (W.force / max(src.brute_resist,1))
-
- health -= damage
- update_icon()
- return
+ if(W.damtype == BURN)
+ playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
+ take_damage(W.force, W.damtype)
/obj/effect/blob/attack_animal(mob/living/simple_animal/M as mob)
M.changeNext_move(CLICK_CD_MELEE)
@@ -178,12 +158,28 @@
playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1)
visible_message("\The [M] has attacked the [src.name]!")
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
+ take_damage(damage, BRUTE)
+ return
+
+/obj/effect/blob/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
+ M.changeNext_move(CLICK_CD_MELEE)
+ M.do_attack_animation(src)
+ playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1)
+ visible_message("[M] has slashed the [src.name]!")
+ var/damage = rand(15, 30)
+ take_damage(damage, BRUTE)
+ return
+
+/obj/effect/blob/proc/take_damage(damage, damage_type)
if(!damage) // Avoid divide by zero errors
return
- damage /= max(src.brute_resist, 1)
+ switch(damage_type)
+ if(BRUTE)
+ damage /= max(brute_resist, 1)
+ if(BURN)
+ damage /= max(fire_resist, 1)
health -= damage
update_icon()
- return
/obj/effect/blob/proc/change_to(var/type)
if(!ispath(type))
diff --git a/code/modules/mob/living/carbon/human/species_types.dm b/code/modules/mob/living/carbon/human/species_types.dm
index 68db5b14894..74248154ddf 100644
--- a/code/modules/mob/living/carbon/human/species_types.dm
+++ b/code/modules/mob/living/carbon/human/species_types.dm
@@ -53,7 +53,7 @@
id = "plant"
default_color = "59CE00"
specflags = list(MUTCOLORS,EYECOLOR)
- attack_verb = "slice"
+ attack_verb = "slash"
attack_sound = 'sound/weapons/slice.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
burnmod = 1.25