diff --git a/code/game/objects/effects/semirandom_mobs_vr.dm b/code/game/objects/effects/semirandom_mobs_vr.dm index b7008b46277..75136cf5aad 100644 --- a/code/game/objects/effects/semirandom_mobs_vr.dm +++ b/code/game/objects/effects/semirandom_mobs_vr.dm @@ -51,6 +51,8 @@ var/global/list/semirandom_mob_spawner_decisions = list() list(/mob/living/simple_mob/animal/passive/opossum), list(/mob/living/simple_mob/animal/passive/pillbug), list(/mob/living/simple_mob/animal/passive/snake), + list(/mob/living/simple_mob/animal/passive/snake/red), + list(/mob/living/simple_mob/animal/passive/snake/python), list(/mob/living/simple_mob/animal/passive/tindalos), list(/mob/living/simple_mob/animal/passive/yithian), list( @@ -359,6 +361,8 @@ var/global/list/semirandom_mob_spawner_decisions = list() list(/mob/living/simple_mob/animal/passive/opossum) = 10, list(/mob/living/simple_mob/animal/passive/pillbug) = 10, list(/mob/living/simple_mob/animal/passive/snake) = 10, + list(/mob/living/simple_mob/animal/passive/snake/red) = 10, + list(/mob/living/simple_mob/animal/passive/snake/python) = 10, list(/mob/living/simple_mob/animal/passive/tindalos) = 10, list(/mob/living/simple_mob/animal/passive/yithian) = 10, list( @@ -537,7 +541,7 @@ var/global/list/semirandom_mob_spawner_decisions = list() /mob/living/simple_mob/vore/lamia/zebra/bra, /mob/living/simple_mob/vore/lamia/zebra/shirt ) = 100, -// LOOK OKAY MERCS ARE HUMANOIDS SO THEY ARE HERE, but they are also kind of bullshit so they probably shouldn't be able to spawn in the same place as catgirls. +// LOOK OKAY MERCS ARE HUMANOIDS SO THEY ARE HERE, but they are also kind of bullshit so they probably shouldn't be able to spawn in the same place as catgirls. // I want some better potentially hostile humanoids that aren't stupid to fight. If they become a big issue I'll comment them out. // For now they are just rare, and the ranged ones are way more rare than the melee ones, which I think will help balance them out. list( diff --git a/code/modules/mob/living/simple_mob/donteatpets_vr.dm b/code/modules/mob/living/simple_mob/donteatpets_vr.dm index 057373b4c75..adf7d00976a 100644 --- a/code/modules/mob/living/simple_mob/donteatpets_vr.dm +++ b/code/modules/mob/living/simple_mob/donteatpets_vr.dm @@ -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 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm index c30dd4be5ae..2f5562f09cd 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm @@ -3,30 +3,33 @@ desc = "Classification: Reptilia Serpentes\

\ 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. \
\ - 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. \
\ - 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. @@ -44,17 +47,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. @@ -97,41 +129,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("[src] swallows the [movement_target] whole!") - 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. @@ -140,14 +138,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("[user] feeds \the [O] to [src].") 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!" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm b/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm index c6ea3efbc16..590b22c0cf9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm @@ -1,6 +1,6 @@ /datum/category_item/catalogue/fauna/frog name = "Wildlife - Giant Frog" - desc = "Classification: Anura gigantus\ + desc = "Classification: Anura Gigantus\

\ 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" diff --git a/code/modules/reagents/reactions/instant/instant_vr.dm b/code/modules/reagents/reactions/instant/instant_vr.dm index b1d49c012a6..63b764dafeb 100644 --- a/code/modules/reagents/reactions/instant/instant_vr.dm +++ b/code/modules/reagents/reactions/instant/instant_vr.dm @@ -400,7 +400,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, diff --git a/icons/mob/snake_vr.dmi b/icons/mob/snake_vr.dmi index 42631b85de9..6802aecc476 100644 Binary files a/icons/mob/snake_vr.dmi and b/icons/mob/snake_vr.dmi differ diff --git a/maps/expedition_vr/beach/_beach.dm b/maps/expedition_vr/beach/_beach.dm index 8bbc1765b71..f63be856253 100644 --- a/maps/expedition_vr/beach/_beach.dm +++ b/maps/expedition_vr/beach/_beach.dm @@ -85,7 +85,7 @@ //guard = 40 //They'll stay within this range (not defining this disables them staying nearby and they will wander the map (and through step teleports)) mobs_to_pick_from = list( /mob/living/simple_mob/vore/fennec = 300, - /mob/living/simple_mob/animal/passive/snake = 100, + /mob/living/simple_mob/animal/passive/snake/python = 100, /mob/living/simple_mob/vore/alienanimals/teppi = 10, /mob/living/simple_mob/vore/alienanimals/teppi/baby = 1 )