diff --git a/code/modules/events/shuttle_loan.dm b/code/modules/events/shuttle_loan.dm
index 1383081b659..4649f851152 100644
--- a/code/modules/events/shuttle_loan.dm
+++ b/code/modules/events/shuttle_loan.dm
@@ -100,11 +100,11 @@
shuttle_spawns.Add(/mob/living/simple_animal/hostile/russian)
shuttle_spawns.Add(/mob/living/simple_animal/hostile/russian/ranged) //drops a mateba
- shuttle_spawns.Add(/mob/living/simple_animal/hostile/bear)
+ shuttle_spawns.Add(/mob/living/simple_animal/hostile/bear/russian)
if(prob(75))
shuttle_spawns.Add(/mob/living/simple_animal/hostile/russian)
if(prob(50))
- shuttle_spawns.Add(/mob/living/simple_animal/hostile/bear)
+ shuttle_spawns.Add(/mob/living/simple_animal/hostile/bear/russian)
if(SPIDER_GIFT)
var/datum/supply_pack/pack = SSshuttle.supply_packs[/datum/supply_pack/emergency/specialops]
diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm
index b49f25fc669..5dc6b9643bc 100644
--- a/code/modules/mob/living/simple_animal/hostile/bear.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bear.dm
@@ -20,6 +20,7 @@
response_harm = "hits"
maxHealth = 60
health = 60
+ var/armored = FALSE
melee_damage_lower = 20
melee_damage_upper = 30
@@ -46,11 +47,56 @@
icon_state = "snowbear"
icon_living = "snowbear"
icon_dead = "snowbear_dead"
- desc = "It's a polar bear, in space, but not actually in space. "
+ desc = "It's a polar bear, in space, but not actually in space."
+
+/mob/living/simple_animal/hostile/bear/russian
+ name = "combat bear"
+ desc = "A ferocious brown bear decked out in armor plating, a red star with yellow outlining details the shoulder plating."
+ icon_state = "combatbear"
+ icon_living = "combatbear"
+ icon_dead = "combatbear_dead"
+ faction = list("russian")
+ butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/bear = 5, /obj/item/clothing/head/bearpelt = 1, /obj/item/bear_armor = 1)
+ melee_damage_lower = 25
+ melee_damage_upper = 35
+ armour_penetration = 20
+ health = 120
+ maxHealth = 120
+ armored = TRUE
/mob/living/simple_animal/hostile/bear/Process_Spacemove(movement_dir = 0)
return 1 //No drifting in space for space bears!
+/mob/living/simple_animal/hostile/bear/update_icons()
+ ..()
+ if(armored)
+ var/image/B = image(icon = 'icons/mob/animal.dmi', icon_state = "armor_bear")
+ if(B)
+ add_overlay(B)
+
+/obj/item/bear_armor
+ name = "pile of bear armor"
+ desc = "A scattered pile of various shaped armor pieces fitted for a bear, some duct tape, and a nail filer. Crude instructions \
+ are written on the back of one of the plates in russian. This seems like an awful idea."
+ icon = 'icons/obj/items.dmi'
+ icon_state = "bear_armor_upgrade"
+
+/obj/item/bear_armor/afterattack(atom/target, mob/user, proximity_flag)
+ if(istype(target, /mob/living/simple_animal/hostile/bear) && proximity_flag)
+ var/mob/living/simple_animal/hostile/bear/A = target
+ if(A.armored)
+ user << "[A] has already been armored up!"
+ return
+ A.armored = TRUE
+ A.maxHealth += 60
+ A.health += 60
+ A.armour_penetration += 20
+ A.melee_damage_lower += 5
+ A.melee_damage_upper += 5
+ A.update_icons()
+ user << "You strap the armor plating to [A] and sharpen their claws with the nail filer. This was a great idea."
+ qdel(src)
+
diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi
index 980c95fa776..a86023ad210 100644
Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ
diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi
index 226ff760a5a..62f5dd37112 100644
Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ