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