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
)