diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm index cc312f44a52..6c8616b775c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm @@ -197,3 +197,53 @@ /mob/living/simple_mob/animal/space/carp/holographic/death() ..() derez() + +// a slow-moving carp with the appearance of a sea mine and behaviour of a sea mine +/mob/living/simple_mob/animal/space/carp/puffer + name = "puffercarp" + desc = "A bloated, inflated carp covered in spines." + catalogue_data = list(/datum/category_item/catalogue/fauna/carp/puffer) + icon_state = "puffercarp" + icon_living = "puffercarp" + icon_dead = "puffercarp_dead" + icon_gib = "generic_gib" + movement_cooldown = 15 + var/ready_to_blow = TRUE + +/datum/category_item/catalogue/fauna/carp/puffer + name = "Voidborne Fauna - Space Carp: puffer variant" + desc = "An unusual subspecies of space carp with a novel defensive \ + and reproductive strategy - once the puffercarp is ready to spread spores \ + it begins to produce a highly volatile compound within its gas bladders, \ + which in addition to providing them with a means of propulsion through space \ + as per most space carp species, affords the puffercarp with a somewhat unique \ + defence mechanism - namely, that they have a tendency to detonate at the slightest \ + provocation. As a result, other voidborne predators have a tendency to \ + keep clear, but even if this doesn't work the resulting explosion serves to scatter \ + their spores over a massive area - this improved seeding strategy results in the \ + propagation of the species despite the fact that it means each adult carp can \ + only reproduce exactly once. \ +

\ + As a result, unlike other carp species, it is extremely rare to see a puffercarp \ + grow to any notable size, and most appear to be somewhat stunted in growth compared \ + to other space carp, their gas bloating being the only thing that brings them close to \ + the normal scale of an adult carp." + value = CATALOGUER_REWARD_HARD //if you can hang around close enough to this thing without setting it off, you deserve it + +/mob/living/simple_mob/animal/space/carp/puffer/proc/kaboom() + if(ready_to_blow) + ready_to_blow = FALSE + gib() + var/turf/T = get_turf(src) + explosion(T, -1, -1, 4, 4) + + +/mob/living/simple_mob/animal/space/carp/puffer/apply_melee_effects() //it gets close enough to attack? EXPLODE + kaboom() + +/mob/living/simple_mob/animal/space/carp/puffer/adjustFireLoss(var/amount) //you make it hot? EXPLODE + if(amount>0) + kaboom() + +/mob/living/simple_mob/animal/space/carp/puffer/ex_act() //explode? YOU BETTER BELIEVE THAT'S AN EXPLODE + kaboom() \ No newline at end of file diff --git a/icons/mob/vore.dmi b/icons/mob/vore.dmi index 72cc43e31d7..ce831269b9a 100644 Binary files a/icons/mob/vore.dmi and b/icons/mob/vore.dmi differ