Merge pull request #14747 from KillianKirilenko/kk-critters

More space creature events
This commit is contained in:
Heroman3003
2023-04-03 06:22:26 +10:00
committed by GitHub
13 changed files with 546 additions and 3 deletions
@@ -0,0 +1,57 @@
// Space carp show up as a random event to wreck hapless people in space or near windows.
// They generally fit the archetype of 'fast but fragile'.
// This is compensated by being in groups (usually).
/datum/category_item/catalogue/fauna/gnat
name = "Voidborne Fauna - Space Gnat"
desc = "Stellar explorers once thought the greatest nuisance was the space carp. \
<br><br>\
Regrettably, they were wrong.\
<br><br>\
The so-called 'space gnat' is a populous and highly irritating but largely harmless threat \
mostly known for how much of a nuisance it poses by flying into various intakes and other \
sensitive or delicate starship components. Their small, spherical bodies are very fragile \
and possess four stubby wings that serve no apparent purpose, but which the gnats flap furiously \
all the same, perhaps in anger at the cruelties of life and the universe.\
<br><br>\
Indeed, what kind of god could create such a misbegotten creature? Certainly not a benevolent one."
value = CATALOGUER_REWARD_EASY
/mob/living/simple_mob/animal/space/gnat
name = "space gnat"
desc = "A small, wretched interstellar pest. Whilst little danger by themselves, they can be a problem in large numbers."
catalogue_data = list(/datum/category_item/catalogue/fauna/gnat)
icon = 'icons/mob/mobs_monsters/animal.dmi'
icon_state = "gnat"
icon_living = "gnat"
icon_dead = "gnat_dead"
faction = "gnat"
maxHealth = 5
health = 5
movement_cooldown = 0
hovering = TRUE
response_help = "baps the"
response_disarm = "gently pushes aside the"
response_harm = "hits the"
melee_damage_lower = 2
melee_damage_upper = 3 //they do very little damage but attack fairly fast, like organic viscerators
base_attack_cooldown = 10 // Bitey bitey!
attack_sharp = TRUE
attack_sound = 'sound/weapons/bite.ogg'
attacktext = list("nibbled")
organ_names = /decl/mob_organ_names/fish
meat_amount = 1
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/gnat
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive/jellyfish
mob_bump_flag = 0
organ_names = /decl/mob_organ_names/space_gnat
/decl/mob_organ_names/space_gnat
hit_zones = list("cephalothorax", "stubby winglets", "flailing tail")
@@ -0,0 +1,78 @@
// Space carp show up as a random event to wreck hapless people in space or near windows.
// They generally fit the archetype of 'fast but fragile'.
// This is compensated by being in groups (usually).
/datum/category_item/catalogue/fauna/ray
name = "Voidborne Fauna - Space Ray"
desc = "Believed to be a distant relative of the more numerous 'space carp' \
the 'space ray' is a somewhat horrifying-looking creature with a maw of sharp fangs \
and several vicious-looking bony protrusions.\
<br><br>\
In truth, however, they are largely harmless creatures, being content to drift \
upon the solar winds. They seem to feed off a mix of interstellar gases, solar radiation, \
space dust, and occasionally other detritus. There are no known cases of unprovoked attacks. \
More baffling is their ability to fly within gravity fields, as they do not seem to move about \
in the same way that carp do, instead seeming to drift on invisible field currents. \
<br><br>\
Scientists have found several shared genetic markers between both the 'ray' and 'carp', \
but at this time have little direct evidence of any relationship between these species. \
There are many competing theories, and few of them can agree on anything but the broadest \
strokes. Oh, and that their tissues contain considerable amounts of soporifics. That too. \
<br><br>\
What scientists can agree on, however, is that whilst the 'space ray' may look nasty \
they're generally little threat. Astroxenobiologists have noted that the two species do \
seem to get along quite poorly, and that the rays are quite capable of dispatching their \
supposed cousins, even when outnumbered."
value = CATALOGUER_REWARD_EASY
/mob/living/simple_mob/animal/space/ray
name = "space ray"
desc = "A horrifying-looking but ultimately misunderstood creature that poses little actual threat."
catalogue_data = list(/datum/category_item/catalogue/fauna/ray)
icon = 'icons/mob/mobs_monsters/animal.dmi'
icon_state = "ray"
icon_living = "ray"
icon_dead = "ray_dead"
icon_rest = "ray_rest"
icon_gib = "ray_gib"
faction = "ray"
maxHealth = 125
health = 125
movement_cooldown = 0 // Carp go fast
hovering = TRUE
response_help = "strokes the"
response_disarm = "gently pushes aside the"
response_harm = "hits the"
melee_damage_lower = 5
melee_damage_upper = 10 //minor damage variance, since they should only be fighting carp
base_attack_cooldown = 18 // A bit slower than carp
attack_sharp = TRUE
attack_sound = 'sound/weapons/bite.ogg'
attacktext = list("lanced","bitten","impaled","gored")
organ_names = /decl/mob_organ_names/fish
meat_amount = 5
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/ray
ai_holder_type = /datum/ai_holder/simple_mob/retaliate/chill
mob_bump_flag = 0
say_list_type = /datum/say_list/space_ray
var/knockdown_chance = 66
/mob/living/simple_mob/animal/space/ray/apply_melee_effects(var/atom/A)
if(isliving(A))
var/mob/living/L = A
if(prob(knockdown_chance))
L.Weaken(4)
L.visible_message(span("danger", "\The [src] buffets \the [L]!"))
src.ai_holder.remove_target()
L.visible_message(span("notice", "\The [src] seems to lose interest in \the [L]..."))
/datum/say_list/space_ray
emote_see = list("swoops","dives","drifts on a solar current","glides elegantly through the void","briefly tumbles")
@@ -0,0 +1,56 @@
// Space carp show up as a random event to wreck hapless people in space or near windows.
// They generally fit the archetype of 'fast but fragile'.
// This is compensated by being in groups (usually).
/datum/category_item/catalogue/fauna/shark
name = "Voidborne Fauna - Space Shark"
desc = "The space carp's bigger, highly territorial kin, space sharks are bigger, meaner, \
and generally bad news to be around for extended periods. If you see one, hope that it's \
the only one around, because if it isn't then that means it's probably a parent with their pups. "
value = CATALOGUER_REWARD_HARD
/mob/living/simple_mob/animal/space/shark
name = "space shark"
desc = "A regal and imposing interstellar creature, and one that poses a serious threat to the ill-prepared."
catalogue_data = list(/datum/category_item/catalogue/fauna/shark)
icon = 'icons/mob/mobs_monsters/animal.dmi'
icon_state = "shark"
icon_living = "shark"
icon_dead = "shark_dead"
icon_rest = "shark_rest"
faction = "spaceshark"
maxHealth = 125
health = 125
movement_cooldown = 0
hovering = TRUE
response_help = "strokes the"
response_disarm = "casually rotates the"
response_harm = "hits the"
melee_damage_lower = 15
melee_damage_upper = 30 //don't mess with these critters!
base_attack_cooldown = 22 // Quite slow, given their power
attack_sharp = TRUE
attack_sound = 'sound/weapons/bite.ogg'
attacktext = list("lanced","bitten","impaled","gored")
organ_names = /decl/mob_organ_names/fish
meat_amount = 10
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/shark
ai_holder_type = /datum/ai_holder/simple_mob/melee
var/knockdown_chance = 10 //slightly reduced their knockdown prob compared to carp given their greater power
/mob/living/simple_mob/animal/space/shark/apply_melee_effects(var/atom/A)
if(isliving(A))
var/mob/living/L = A
if(prob(knockdown_chance))
L.Weaken(3)
L.visible_message(span("danger", "\The [src] knocks down \the [L]!"))
/mob/living/simple_mob/animal/space/shark/event
ai_holder_type = /datum/ai_holder/simple_mob/event