Merge pull request #3217 from CHOMPStation2/upstream-merge-11921

[MIRROR] Snakes are Sweet
This commit is contained in:
Nadyr
2021-12-05 13:28:39 -05:00
committed by GitHub
9 changed files with 67 additions and 60 deletions
@@ -32,7 +32,7 @@
digestable = 0
devourable = 0
/mob/living/simple_mob/animal/passive/snake/noodle
/mob/living/simple_mob/animal/passive/snake/python/noodle
digestable = 0
devourable = 0
@@ -3,30 +3,33 @@
desc = "Classification: Reptilia Serpentes\
<br><br>\
Snakes are elongated, limbless, carnivorous reptiles of the suborder Serpentes \
Like all other squamates, snakes are ectothermic, amniote vertebrates covered in overlapping scales. \
Many species of snakes have skulls with several more joints than their lizard ancestors, \
Like all other squamates, pythons are ectothermic, amniote vertebrates covered in overlapping scales. \
Many species of snake have skulls with several more joints than their lizard ancestors, \
enabling them to swallow prey much larger than their heads with their highly mobile jaws. \
<br>\
This species of snake is nonvenomous and use their large bodies to primarily subdue their prey. \
This type of snake is nonvenomous and use their slender bodies to primarily subdue their prey. \
Nonvenomous snakes either swallow prey alive or kill them by constriction - this is dependant on the prey. \
<br>\
This specific snake is nonvenomous and is mostly passive - however they will attack if threatened - it is \
recommended that persons keep their distance as to not provoke these animals."
Snakes are mostly passive - however they will attack if threatened - it is recommended that \
persons keep their distance as to not provoke these animals."
value = CATALOGUER_REWARD_TRIVIAL
/*
* Green Snake
*/
/mob/living/simple_mob/animal/passive/snake
name = "snake"
desc = "A big thick snake."
tt_desc = "Reptilia Serpentes"
desc = "A cute little, green snake. Wiggle wiggle."
tt_desc = "E Reptilia Serpentes"
catalogue_data = list(/datum/category_item/catalogue/fauna/snake)
icon_state = "snake"
icon_living = "snake"
icon_dead = "snake_dead"
icon_state = "green"
icon_living = "green"
icon_dead = "green_dead"
icon = 'icons/mob/snake_vr.dmi'
maxHealth = 20
health = 20
maxHealth = 15
health = 15
movement_cooldown = 8 // SLOW-ASS MUTHAFUCKA, I hope.
@@ -47,17 +50,46 @@
/datum/say_list/snake
emote_hear = list("hisses")
//NOODLE IS HERE! SQUEEEEEEEE~
/mob/living/simple_mob/animal/passive/snake/noodle
/*
* Red Snake
*/
/mob/living/simple_mob/animal/passive/snake/red
desc = "A cute little, red snake. Wiggle wiggle."
icon_state = "red"
icon_living = "red"
icon_dead = "red_dead"
icon = 'icons/mob/snake_vr.dmi'
/*
* Python
*/
/mob/living/simple_mob/animal/passive/snake/python
name = "python"
desc = "A big, thick snake."
tt_desc = "E Reptilia Pythonidae"
icon_state = "python"
icon_living = "python"
icon_dead = "python_dead"
icon = 'icons/mob/snake_vr.dmi'
/*
* NOODLE IS HERE! SQUEEEEEEEE~
*/
/mob/living/simple_mob/animal/passive/snake/python/noodle
name = "Noodle"
desc = "This snake is particularly chubby and demands nothing but the finest of treats."
maxHealth = 20
health = 20
makes_dirt = FALSE
var/turns_since_scan = 0
var/obj/movement_target
/mob/living/simple_mob/animal/passive/snake/noodle/Life()
/mob/living/simple_mob/animal/passive/snake/python/noodle/Life()
..()
//Not replacing with SA FollowTarget mechanics because Ian behaves... very... specifically.
@@ -100,41 +132,7 @@
else if(ishuman(movement_target.loc) && prob(20))
visible_emote("stares at the [movement_target] that [movement_target.loc] has with an unknowable reptilian gaze.")
/* old eating code, couldn't figure out how to make the "swallows food" thing so I'm keeping this here incase someone wants legacy"
/mob/living/simple_mob/animal/passive/snake/noodle/Life() //stolen from Ian in corgi.dm
if(!..())
return 0
if(!stat && !resting && !buckled && !ai_inactive)
turns_since_scan++
if(turns_since_scan > 5)
turns_since_scan = 0
if(movement_target && !(isturf(movement_target.loc) || ishuman(movement_target.loc)))
movement_target = null
stop_automated_movement = 0
if(!movement_target || !(movement_target.loc in oview(src, 5)) )
movement_target = null
stop_automated_movement = 0
walk(src,0)
for(var/obj/item/weapon/reagent_containers/food/snacks/snakesnack/S in oview(src,3))
if(isturf(S.loc))
movement_target = S
visible_emote("turns towards \the [movement_target] and slithers towards it.")
break
if(movement_target)
stop_automated_movement = 1
walk_to(src, movement_target, 0, 5)
spawn(10)
if(Adjacent(movement_target))
visible_message("<span class='notice'>[src] swallows the [movement_target] whole!</span>")
qdel(movement_target)
walk(src,0)
else if(ishuman(movement_target.loc) && prob(20))
visible_emote("stares at the [movement_target] that [movement_target.loc] has with an unknowable reptilian gaze.")
*/
/mob/living/simple_mob/animal/passive/snake/noodle/apply_melee_effects(var/atom/A)
/mob/living/simple_mob/animal/passive/snake/python/noodle/apply_melee_effects(var/atom/A)
if(ismouse(A))
var/mob/living/simple_mob/animal/passive/mouse/mouse = A
if(mouse.getMaxHealth() < 20) // In case a badmin makes giant mice or something.
@@ -143,14 +141,16 @@
else
..()
/mob/living/simple_mob/animal/passive/snake/noodle/attackby(var/obj/item/O, var/mob/user)
/mob/living/simple_mob/animal/passive/snake/python/noodle/attackby(var/obj/item/O, var/mob/user)
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/snakesnack))
visible_message("<span class='notice'>[user] feeds \the [O] to [src].</span>")
qdel(O)
else
return ..()
//Special snek-snax for Noodle!
/*
* Special snek-snax for Noodle!
*/
/obj/item/weapon/reagent_containers/food/snacks/snakesnack
name = "sugar mouse"
desc = "A little mouse treat made of coloured sugar. Noodle loves these!"
@@ -1,6 +1,6 @@
/datum/category_item/catalogue/fauna/frog
name = "Wildlife - Giant Frog"
desc = "Classification: Anura gigantus\
desc = "Classification: Anura Gigantus\
<br><br>\
A frog is any member of a diverse and largely carnivorous group of short-bodied, tailless amphibians composing \
the order Anura. This specific species - Anura gigantus - is a mutated form of frogs, largely due to exposure to mutagen chemicals. \
@@ -20,7 +20,7 @@
/mob/living/simple_mob/vore/aggressive/frog
name = "giant frog"
desc = "You've heard of having a frog in your throat, now get ready for the reverse."
tt_desc = "Anura gigantus"
tt_desc = "Anura Gigantus"
catalogue_data = list(/datum/category_item/catalogue/fauna/frog)
icon_dead = "frog-dead"
@@ -401,7 +401,7 @@
/mob/living/simple_mob/animal/passive/bird/parrot/poly,
/mob/living/simple_mob/animal/sif/fluffy,
/mob/living/simple_mob/animal/sif/fluffy/silky,
/mob/living/simple_mob/animal/passive/snake/noodle,
/mob/living/simple_mob/animal/passive/snake/python/noodle,
/mob/living/simple_mob/slime/xenobio/rainbow/kendrick,
/mob/living/simple_mob/animal/space/space_worm, //Space Worm parts that aren't proper heads
/mob/living/simple_mob/animal/space/space_worm/head/severed,