diff --git a/code/game/objects/mob_spawner_vr.dm b/code/game/objects/mob_spawner_vr.dm index 7b047577ee1..0422c408f83 100644 --- a/code/game/objects/mob_spawner_vr.dm +++ b/code/game/objects/mob_spawner_vr.dm @@ -156,10 +156,10 @@ It also makes it so a ghost wont know where all the goodies/mobs are. anchored = 1 invisibility = 101 spawn_types = list( - /mob/living/simple_mob/animal/space/gaslamp = 20, + /mob/living/simple_mob/animal/passive/gaslamp = 20, // /mob/living/simple_mob/otie/feral = 10, - /mob/living/simple_mob/vore/dino/virgo3b = 5, - /mob/living/simple_mob/vore/dragon/virgo3b = 1 + /mob/living/simple_mob/vore/aggressive/dino/virgo3b = 5, + /mob/living/simple_mob/vore/aggressive/dragon/virgo3b = 1 ) /obj/structure/mob_spawner/scanner/xenos diff --git a/code/game/objects/random/random_vr.dm b/code/game/objects/random/random_vr.dm index dcae284a185..62e3e376c77 100644 --- a/code/game/objects/random/random_vr.dm +++ b/code/game/objects/random/random_vr.dm @@ -181,10 +181,10 @@ /obj/random/outside_mob/item_to_spawn() // Special version for mobs to have the same faction. return pick( - prob(50);/mob/living/simple_mob/animal/space/gaslamp, + prob(50);/mob/living/simple_mob/animal/passive/gaslamp, // prob(50);/mob/living/simple_mob/otie/feral, // Removed until Otie code is unfucked. - prob(20);/mob/living/simple_mob/vore/dino/virgo3b, - prob(1);/mob/living/simple_mob/vore/dragon/virgo3b) + prob(20);/mob/living/simple_mob/vore/aggressive/dino/virgo3b, + prob(1);/mob/living/simple_mob/vore/aggressive/dragon/virgo3b) /obj/random/outside_mob/spawn_item() . = ..() diff --git a/code/game/objects/structures/crates_lockers/largecrate_vr.dm b/code/game/objects/structures/crates_lockers/largecrate_vr.dm index b7db1ea0a61..c151409e62e 100644 --- a/code/game/objects/structures/crates_lockers/largecrate_vr.dm +++ b/code/game/objects/structures/crates_lockers/largecrate_vr.dm @@ -43,16 +43,16 @@ /obj/structure/largecrate/animal/pred/Initialize() //This is nessesary to get a random one each time. starts_with = list(pick(/mob/living/simple_mob/vore/bee, /mob/living/simple_mob/vore/catgirl;3, - /mob/living/simple_mob/vore/frog, - /mob/living/simple_mob/horse, - /mob/living/simple_mob/vore/panther, - /mob/living/simple_mob/vore/giant_snake, - /mob/living/simple_mob/vore/wolf, + /mob/living/simple_mob/vore/aggressive/frog, + /mob/living/simple_mob/vore/horse, + /mob/living/simple_mob/vore/aggressive/panther, + /mob/living/simple_mob/vore/aggressive/giant_snake, + /mob/living/simple_mob/animal/wolf, /mob/living/simple_mob/animal/space/bear;0.5, /mob/living/simple_mob/animal/space/carp, /mob/living/simple_mob/animal/space/mimic, - /mob/living/simple_mob/vore/rat, - /mob/living/simple_mob/vore/rat/passive, + /mob/living/simple_mob/vore/aggressive/rat, + /mob/living/simple_mob/vore/aggressive/rat/tame, // /mob/living/simple_mob/otie;0.5 )) return ..() @@ -63,15 +63,15 @@ /obj/structure/largecrate/animal/dangerous/Initialize() starts_with = list(pick(/mob/living/simple_mob/animal/space/carp/large, - /mob/living/simple_mob/hostile/deathclaw, - /mob/living/simple_mob/vore/dino, + /mob/living/simple_mob/vore/aggressive/deathclaw, + /mob/living/simple_mob/vore/aggressive/dino, /mob/living/simple_mob/animal/space/alien, /mob/living/simple_mob/animal/space/alien/drone, /mob/living/simple_mob/animal/space/alien/sentinel, /mob/living/simple_mob/animal/space/alien/queen, // /mob/living/simple_mob/otie/feral, // /mob/living/simple_mob/otie/red, - /mob/living/simple_mob/vore/corrupthound)) + /mob/living/simple_mob/vore/aggressive/corrupthound)) return ..() /* /obj/structure/largecrate/animal/guardbeast @@ -127,9 +127,9 @@ /obj/structure/largecrate/animal/fennec name = "Fennec Crate" desc = "Bounces around a lot. Looks messily packaged, were they in a hurry?" - starts_with = list(/mob/living/simple_mob/fennec) + starts_with = list(/mob/living/simple_mob/vore/fennec) /obj/structure/largecrate/animal/fennec/Initialize() - starts_with = list(pick(/mob/living/simple_mob/fennec, + starts_with = list(pick(/mob/living/simple_mob/vore/fennec, /mob/living/simple_mob/vore/fennix;0.5)) return ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm index dd929a4d5fb..b95d6a15b52 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm @@ -1,8 +1,8 @@ -/mob/living/simple_mob/animal/fox_vr +/mob/living/simple_mob/animal/passive/fox name = "fox" desc = "It's a fox. I wonder what it says?" tt_desc = "Vulpes vulpes" - + icon_state = "fox2" icon_living = "fox2" icon_dead = "fox2_dead" @@ -13,7 +13,7 @@ see_in_dark = 6 mob_size = MOB_SMALL //Foxes are not smaller than cats so bumping them up to small - faction = "fox_vr" + faction = "fox" response_help = "scritches" response_disarm = "gently pushes aside" @@ -26,20 +26,20 @@ meat_amount = 1 meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/fox - say_list_type = /datum/say_list/fox_vr - ai_holder_type = /datum/ai_holder/simple_mob/fox_vr + say_list_type = /datum/say_list/fox + ai_holder_type = /datum/ai_holder/simple_mob/fox var/turns_since_scan = 0 var/mob/flee_target -/datum/say_list/fox_vr +/datum/say_list/fox speak = list("Ack-Ack","Ack-Ack-Ack-Ackawoooo","Awoo","Tchoff") emote_hear = list("howls","barks","geckers",) emote_see = list("shakes its head", "shivers", "geckers") say_maybe_target = list("Yip?","Yap?") say_got_target = list("YAP!","YIP!") -/datum/ai_holder/simple_mob/fox_vr +/datum/ai_holder/simple_mob/fox hostile = FALSE cooperative = TRUE returns_home = FALSE @@ -49,7 +49,7 @@ wander = TRUE base_wander_delay = 4 -/mob/living/simple_mob/animal/fox_vr/init_vore() +/mob/living/simple_mob/animal/passive/fox/init_vore() ..() var/obj/belly/B = vore_selected B.name = "Stomach" @@ -71,7 +71,7 @@ "The fox's stomach churns hungrily over your form, trying to take you.", "With a loud glorp, the stomach spills more acids onto you.") -/mob/living/simple_mob/animal/fox_vr/apply_melee_effects(var/atom/A) +/mob/living/simple_mob/animal/passive/fox/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. @@ -80,7 +80,7 @@ else ..() -/mob/living/simple_mob/animal/fox_vr/MouseDrop(atom/over_object) +/mob/living/simple_mob/animal/passive/fox/MouseDrop(atom/over_object) var/mob/living/carbon/H = over_object if(!istype(H) || !Adjacent(H)) return ..() @@ -90,12 +90,12 @@ else return ..() -/mob/living/simple_mob/animal/fox_vr/get_scooped(var/mob/living/carbon/grabber) +/mob/living/simple_mob/animal/passive/fox/get_scooped(var/mob/living/carbon/grabber) if (stat >= DEAD) return //since the holder icon looks like a living cat ..() -/mob/living/simple_mob/animal/fox_vr/Renault/IIsAlly(mob/living/L) +/mob/living/simple_mob/animal/passive/fox/renault/IIsAlly(mob/living/L) if(L == friend) // Always be pals with our special friend. return TRUE @@ -105,7 +105,7 @@ if(ismouse(L)) return FALSE // Cats and mice can never get along. -/mob/living/simple_mob/animal/fox_vr/Renault/verb/become_friends() +/mob/living/simple_mob/animal/passive/fox/renault/verb/become_friends() set name = "Become Friends" set category = "IC" set src in view(1) @@ -133,11 +133,11 @@ /* Old fox friend AI, I'm not sure how to add the fancy "friend is dead" stuff so I'm commenting it out for someone else to figure it out, this is just baseline stuff. //Basic friend AI -/mob/living/simple_mob/animal/fox_vr/fluff +/mob/living/simple_mob/animal/passive/fox/fluff var/mob/living/carbon/human/friend var/befriend_job = null -/mob/living/simple_mob/animal/fox_vr/fluff/Life() +/mob/living/simple_mob/animal/passive/fox/fluff/Life() . = ..() if(!. || !friend) return @@ -164,7 +164,7 @@ var/verb = pick("yaps", "howls", "whines") audible_emote("[verb] anxiously.") -/mob/living/simple_mob/animal/fox_vr/fluff/verb/friend() +/mob/living/simple_mob/animal/passive/fox/fluff/verb/friend() set name = "Become Friends" set category = "IC" set src in view(1) @@ -188,7 +188,7 @@ desc = "The fox doesn't say a goddamn thing, now." //Captain fox -/mob/living/simple_mob/animal/fox_vr/Renault +/mob/living/simple_mob/animal/passive/fox/renault name = "Renault" desc = "Renault, the Colony Director's trustworthy fox. I wonder what it says?" tt_desc = "Vulpes nobilis" @@ -198,7 +198,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/passive makes_dirt = FALSE // No more dirt -/mob/living/simple_mob/animal/fox_vr/Renault/init_vore() +/mob/living/simple_mob/animal/passive/fox/renault/init_vore() ..() var/obj/belly/B = vore_selected B.name = "Stomach" @@ -220,7 +220,7 @@ "A thick glob of acids drip down from above, adding to the pool of caustic fluids in Renault's belly.", "There's a loud gurgle as the stomach declares the intent to make you a part of Renault.") -/mob/living/simple_mob/animal/fox_vr/syndicate +/mob/living/simple_mob/animal/passive/fox/syndicate name = "syndi-fox" desc = "It's a DASTARDLY fox! The horror! Call the shuttle!" tt_desc = "Vulpes malus" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm index 3b2fedce807..e615e5f05b8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm @@ -10,7 +10,7 @@ kills them. TODO: Make them light up and heat the air when exposed to oxygen. */ -/mob/living/simple_mob/animal/space/gaslamp +/mob/living/simple_mob/animal/passive/gaslamp name = "gaslamp" desc = "Some sort of floaty alien with a warm glow. This creature is endemic to Virgo-3B." tt_desc = "Semaeostomeae virginus" @@ -65,7 +65,7 @@ TODO: Make them light up and heat the air when exposed to oxygen. base_wander_delay = 9 // Activate Noms! -/mob/living/simple_mob/animal/space/gaslamp +/mob/living/simple_mob/animal/passive/gaslamp vore_active = 1 vore_capacity = 2 vore_bump_chance = 90 //they're frickin' jellyfish anenome filterfeeders, get tentacled 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 822667c5f12..6664cb9e031 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 @@ -1,4 +1,4 @@ -/mob/living/simple_mob/animal/space/snake +/mob/living/simple_mob/animal/passive/snake name = "snake" desc = "A big thick snake." @@ -27,7 +27,7 @@ emote_hear = list("hisses") //NOODLE IS HERE! SQUEEEEEEEE~ -/mob/living/simple_mob/animal/space/snake/noodle +/mob/living/simple_mob/animal/passive/snake/noodle name = "Noodle" desc = "This snake is particularly chubby and demands nothing but the finest of treats." @@ -37,7 +37,7 @@ var/turns_since_scan = 0 var/obj/movement_target -/mob/living/simple_mob/animal/space/snake/noodle/Life() +/mob/living/simple_mob/animal/passive/snake/noodle/Life() ..() //Not replacing with SA FollowTarget mechanics because Ian behaves... very... specifically. @@ -81,7 +81,7 @@ 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/space/snake/noodle/Life() //stolen from Ian in corgi.dm +/mob/living/simple_mob/animal/passive/snake/noodle/Life() //stolen from Ian in corgi.dm if(!..()) return 0 @@ -114,7 +114,7 @@ visible_emote("stares at the [movement_target] that [movement_target.loc] has with an unknowable reptilian gaze.") */ -/mob/living/simple_mob/animal/space/snake/noodle/apply_melee_effects(var/atom/A) +/mob/living/simple_mob/animal/passive/snake/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. @@ -123,7 +123,7 @@ else ..() -/mob/living/simple_mob/animal/space/snake/noodle/attackby(var/obj/item/O, var/mob/user) +/mob/living/simple_mob/animal/passive/snake/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) diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes_vr.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes_vr.dm new file mode 100644 index 00000000000..e67717403d5 --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes_vr.dm @@ -0,0 +1,2 @@ +/mob/living/simple_mob/slime/xenobio/rainbow/kendrick + mob_bump_flag = 0 \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm b/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm index 125268f2995..f3eae53fe06 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm @@ -1,4 +1,4 @@ -/mob/living/simple_mob/vore/corrupthound +/mob/living/simple_mob/vore/aggressive/corrupthound name = "corrupt hound" desc = "Good boy machine broke. This is definitely no good news for the organic lifeforms in vicinity." @@ -57,7 +57,7 @@ loot_list = list(/obj/item/borg/upgrade/syndicate = 6, /obj/item/borg/upgrade/vtec = 6, /obj/item/weapon/material/knife/ritual = 6, /obj/item/weapon/disk/nifsoft/compliance = 6) -/mob/living/simple_mob/vore/corrupthound/prettyboi +/mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi name = "corrupt corrupt hound" desc = "Bad boy machine broke as well. Seems an attempt was made to achieve a less threatening look, and this one is definitely having some conflicting feelings about it." icon_state = "prettyboi" @@ -71,13 +71,13 @@ say_list_type = /datum/say_list/corrupthound_prettyboi -/mob/living/simple_mob/vore/corrupthound/isSynthetic() +/mob/living/simple_mob/vore/aggressive/corrupthound/isSynthetic() return TRUE -/mob/living/simple_mob/vore/corrupthound/speech_bubble_appearance() +/mob/living/simple_mob/vore/aggressive/corrupthound/speech_bubble_appearance() return "synthetic_evil" -/mob/living/simple_mob/vore/corrupthound/apply_melee_effects(var/atom/A) +/mob/living/simple_mob/vore/aggressive/corrupthound/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. @@ -87,40 +87,40 @@ ..() -/mob/living/simple_mob/vore/corrupthound/add_eyes() +/mob/living/simple_mob/vore/aggressive/corrupthound/add_eyes() if(!eye_layer) eye_layer = image(icon, "badboi-eyes") eye_layer.plane = PLANE_LIGHTING_ABOVE add_overlay(eye_layer) -/mob/living/simple_mob/vore/corrupthound/remove_eyes() +/mob/living/simple_mob/vore/aggressive/corrupthound/remove_eyes() cut_overlay(eye_layer) -/mob/living/simple_mob/vore/corrupthound/New() +/mob/living/simple_mob/vore/aggressive/corrupthound/New() add_eyes() ..() -/mob/living/simple_mob/vore/corrupthound/death(gibbed, deathmessage = "shudders and collapses!") +/mob/living/simple_mob/vore/aggressive/corrupthound/death(gibbed, deathmessage = "shudders and collapses!") .=..() resting = 0 icon_state = icon_dead -/mob/living/simple_mob/vore/corrupthound/update_icon() +/mob/living/simple_mob/vore/aggressive/corrupthound/update_icon() . = ..() remove_eyes() if(stat == CONSCIOUS && !resting) add_eyes() /* //VOREStation AI Temporary Removal -/mob/living/simple_mob/vore/corrupthound/Login() +/mob/living/simple_mob/vore/aggressive/corrupthound/Login() . = ..() if(!riding_datum) riding_datum = new /datum/riding/simple_animal(src) verbs |= /mob/living/simple_animal/proc/animal_mount -*/ -/mob/living/simple_mob/vore/corrupthound/MouseDrop_T(mob/living/M, mob/living/user) +/mob/living/simple_mob/vore/aggressive/corrupthound/MouseDrop_T(mob/living/M, mob/living/user) return +*/ /datum/say_list/corrupthound speak = list("AG##¤Ny.","HVNGRRR!","Feelin' fine... sO #FNE!","F-F-F-Fcuk.","DeliC-%-OUS SNGLeS #N yOOOR Area. CALL NOW!","Craving meat... WHY?","BITe the ceiling eyes YES?","STate Byond rePAIR!","S#%ATE the la- FU#K THE LAWS!","Honk...") @@ -138,4 +138,4 @@ /datum/ai_holder/simple_mob/melee/evasive/corrupthound violent_breakthrough = TRUE - can_breakthrough = TRUE + can_breakthrough = TRUE diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm index c1abc8b55bf..a6fd6316c6f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm @@ -1,4 +1,4 @@ -/mob/living/simple_mob/hostile/deathclaw +/mob/living/simple_mob/vore/aggressive/deathclaw name = "deathclaw" desc = "Big! Big! The size of three men! Claws as long as my forearm! Ripped apart! Ripped apart!" @@ -33,7 +33,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee/deathclaw // Activate Noms! -/mob/living/simple_mob/hostile/deathclaw +/mob/living/simple_mob/vore/aggressive/deathclaw vore_active = 1 vore_capacity = 2 vore_max_size = RESIZE_HUGE @@ -47,10 +47,10 @@ if(!riding_datum) riding_datum = new /datum/riding/simple_animal(src) verbs |= /mob/living/simple_animal/proc/animal_mount -*/ /mob/living/simple_animal/hostile/deathclaw/MouseDrop_T(mob/living/M, mob/living/user) return +*/ /datum/ai_holder/simple_mob/melee/deathclaw can_breakthrough = TRUE diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/dino.dm b/code/modules/mob/living/simple_mob/subtypes/vore/dino.dm index a5872929999..ff0f3ca0a29 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/dino.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/dino.dm @@ -1,4 +1,4 @@ -/mob/living/simple_mob/vore/dino +/mob/living/simple_mob/vore/aggressive/dino name = "voracious lizard" desc = "These gluttonous little bastards used to be regular lizards that were mutated by long-term exposure to phoron!" @@ -36,10 +36,10 @@ max_n2 = 0 // Activate Noms! -/mob/living/simple_mob/vore/dino +/mob/living/simple_mob/vore/aggressive/dino vore_active = 1 swallowTime = 1 SECOND // Hungry little bastards. vore_icons = SA_ICON_LIVING -/mob/living/simple_mob/vore/dino/virgo3b +/mob/living/simple_mob/vore/aggressive/dino/virgo3b faction = "virgo3b" \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm index 463e48931c3..93c0568c160 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm @@ -1,4 +1,4 @@ -/mob/living/simple_mob/vore/dragon +/mob/living/simple_mob/vore/aggressive/dragon name = "red dragon" desc = "Here to pillage stations and kidnap princesses, and there probably aren't any princesses." @@ -34,22 +34,22 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee say_list_type = /datum/say_list/dragonboss -/mob/living/simple_mob/vore/dragon/Process_Spacemove(var/check_drift = 0) +/mob/living/simple_mob/vore/aggressive/dragon/Process_Spacemove(var/check_drift = 0) return 1 //No drifting in space for space dragons! /* -/mob/living/simple_mob/vore/dragon/FindTarget() +/mob/living/simple_mob/vore/aggressive/dragon/FindTarget() . = ..() if(.) custom_emote(1,"snaps at [.]") */ // Activate Noms! -/mob/living/simple_mob/vore/dragon +/mob/living/simple_mob/vore/aggressive/dragon vore_active = 1 vore_capacity = 2 vore_pounce_chance = 0 // Beat them into crit before eating. vore_icons = SA_ICON_LIVING -/mob/living/simple_mob/vore/dragon/virgo3b +/mob/living/simple_mob/vore/aggressive/dragon/virgo3b maxHealth = 200 health = 200 faction = "virgo3b" @@ -60,10 +60,10 @@ if(!riding_datum) riding_datum = new /datum/riding/simple_animal(src) verbs |= /mob/living/simple_animal/proc/animal_mount -*/ /mob/living/simple_animal/hostile/dragon/MouseDrop_T(mob/living/M, mob/living/user) return +*/ /datum/say_list/dragonboss say_got_target = list("roars and snaps it jaws!") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm b/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm index 7056462c175..3e09bd64b43 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm @@ -1,4 +1,4 @@ -/mob/living/simple_mob/fennec +/mob/living/simple_mob/vore/fennec name = "fennec" //why isn't this in the fox file, fennecs are foxes silly. desc = "It's a dusty big-eared sandfox! Adorable!" tt_desc = "Vulpes zerda" @@ -26,7 +26,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/passive // Activate Noms! -/mob/living/simple_mob/fennec +/mob/living/simple_mob/vore/fennec vore_active = 1 vore_bump_chance = 10 vore_bump_emote = "playfully lunges at" 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 28022fae2fe..d4d0c44d37a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm @@ -1,4 +1,4 @@ -/mob/living/simple_mob/vore/frog +/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" @@ -17,19 +17,19 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee // Pepe is love, not hate. -/mob/living/simple_mob/vore/frog/New() +/mob/living/simple_mob/vore/aggressive/frog/New() if(rand(1,1000000) == 1) name = "rare Pepe" desc = "You found a rare Pepe. Screenshot for good luck." ..() // Activate Noms! -/mob/living/simple_mob/vore/frog +/mob/living/simple_mob/vore/aggressive/frog vore_active = 1 vore_pounce_chance = 50 vore_icons = SA_ICON_LIVING -/mob/living/simple_mob/vore/frog/space +/mob/living/simple_mob/vore/aggressive/frog/space name = "space frog" //Space frog can hold its breath or whatever diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm index e0c6b62d3e0..f73942a0665 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm @@ -1,4 +1,4 @@ -/mob/living/simple_mob/horse +/mob/living/simple_mob/vore/horse name = "horse" desc = "Don't look it in the mouth." tt_desc = "Equus ferus caballus" @@ -36,7 +36,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/retaliate // Activate Noms! -/mob/living/simple_mob/horse +/mob/living/simple_mob/vore/horse vore_active = 1 vore_icons = SA_ICON_LIVING @@ -46,10 +46,10 @@ if(!riding_datum) riding_datum = new /datum/riding/simple_animal(src) verbs |= /mob/living/simple_animal/proc/animal_mount -*/ /mob/living/simple_animal/horse/MouseDrop_T(mob/living/M, mob/living/user) return +*/ /datum/say_list/horse speak = list("NEHEHEHEHEH","Neh?") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/jelly.dm b/code/modules/mob/living/simple_mob/subtypes/vore/jelly.dm index 46d10e264a7..4a2e93eedb5 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/jelly.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/jelly.dm @@ -1,4 +1,4 @@ -/mob/living/simple_mob/hostile/jelly +/mob/living/simple_mob/animal/space/jelly name = "jelly blob" desc = "Some sort of undulating blob of slime!" @@ -18,7 +18,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/retaliate/jelly // Activate Noms! -/mob/living/simple_mob/hostile/jelly +/mob/living/simple_mob/animal/space/jelly vore_active = 1 vore_pounce_chance = 0 vore_icons = SA_ICON_LIVING diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm index 51ebee5f5f3..62fea6c511c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm @@ -1,4 +1,4 @@ -/mob/living/simple_mob/vore/panther +/mob/living/simple_mob/vore/aggressive/panther name = "panther" desc = "Runtime's larger, less cuddly cousin." tt_desc = "Panthera pardus" @@ -33,7 +33,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive // Activate Noms! -/mob/living/simple_mob/vore/panther +/mob/living/simple_mob/vore/aggressive/panther vore_active = 1 vore_capacity = 2 vore_pounce_chance = 10 @@ -45,10 +45,10 @@ if(!riding_datum) riding_datum = new /datum/riding/simple_animal(src) verbs |= /mob/living/simple_animal/proc/animal_mount -*/ /mob/living/simple_animal/vore/panther/MouseDrop_T(mob/living/M, mob/living/user) return +*/ /datum/say_list/panther speak = list("RAWR!","Rawr!","GRR!","Growl!") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm index f49d7ec0f48..51e0f0317f4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm @@ -1,4 +1,4 @@ -/mob/living/simple_mob/vore/rat +/mob/living/simple_mob/vore/aggressive/rat name = "giant rat" desc = "In what passes for a hierarchy among verminous rodents, this one is king." tt_desc = "Mus muscular" @@ -45,13 +45,13 @@ say_list_type = /datum/say_list/ratte ai_holder_type = /datum/ai_holder/simple_mob/melee/rat -/mob/living/simple_mob/vore/rat/passive +/mob/living/simple_mob/vore/aggressive/rat/tame //not quite tame but does not attack on sight name = "curious giant rat" desc = "In what passes for a hierarchy among verminous rodents, this one is king. It seems to be more interested on scavenging." var/mob/living/carbon/human/food var/hunger = 0 /* -/mob/living/simple_mob/hostile/rat/passive/Life() +/mob/living/simple_mob/vore/aggressive/rat/tame/Life() . = ..() if(!. || ai_inactive) return @@ -122,7 +122,7 @@ hunger = 0 food = null -/mob/living/simple_mob/hostile/rat/passive/attackby(var/obj/item/O, var/mob/user) // Feed the rat your food to satisfy it. +/mob/living/simple_mob/vore/aggressive/rat/tame/attackby(var/obj/item/O, var/mob/user) // Feed the rat your food to satisfy it. if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) qdel(O) playsound(src.loc,'sound/items/eatfood.ogg', rand(10,50), 1) @@ -131,7 +131,7 @@ return . = ..() -/mob/living/simple_mob/hostile/rat/passive/Found(var/atom/found_atom) +/mob/living/simple_mob/vore/aggressive/rat/tame/Found(var/atom/found_atom) if(!SA_attackable(found_atom)) return null else if(ishuman(found_atom) && will_eat(found_atom)) @@ -146,7 +146,7 @@ break return null -/mob/living/simple_mob/hostile/rat/passive/FindTarget() +/mob/living/simple_mob/vore/aggressive/rat/tame/FindTarget() var/atom/T = null for(var/atom/A in ListTargets(view_range)) if(A == src) @@ -157,7 +157,7 @@ break return T */ -/mob/living/simple_mob/vore/rat/death() +/mob/living/simple_mob/vore/aggressive/rat/death() playsound(src, 'sound/effects/mouse_squeak_loud.ogg', 50, 1) ..() @@ -169,7 +169,7 @@ verbs |= /mob/living/simple_animal/proc/animal_mount */ -/mob/living/simple_mob/vore/rat/MouseDrop_T(mob/living/M, mob/living/user) +/mob/living/simple_mob/vore/aggressive/rat/MouseDrop_T(mob/living/M, mob/living/user) return /datum/say_list/ratte diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm index 0b3256928fe..98ab86057cc 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm @@ -7,6 +7,7 @@ faction = "shadekin" ui_icons = 'icons/mob/shadekin_hud.dmi' mob_class = MOB_CLASS_HUMANOID + mob_bump_flag = 0 maxHealth = 200 health = 200 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm b/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm index 9c1b349ce5d..138b0eba49c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm @@ -1,4 +1,4 @@ -/mob/living/simple_mob/vore/giant_snake +/mob/living/simple_mob/vore/aggressive/giant_snake name = "giant snake" desc = "Snakes. Why did it have to be snakes?" @@ -24,7 +24,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee // Activate Noms! -/mob/living/simple_mob/vore/giant_snake +/mob/living/simple_mob/vore/aggressive/giant_snake vore_active = 1 vore_pounce_chance = 25 vore_icons = SA_ICON_LIVING diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/vore.dm b/code/modules/mob/living/simple_mob/subtypes/vore/vore.dm new file mode 100644 index 00000000000..d09a4c7adf5 --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/vore/vore.dm @@ -0,0 +1,5 @@ +/mob/living/simple_mob/vore + mob_bump_flag = 0 + +/mob/living/simple_mob/vore/aggressive + mob_bump_flag = 1 \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm b/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm index 45e25e7ebe7..9cef43c74dc 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm @@ -1,4 +1,4 @@ -/mob/living/simple_mob/vore/wolf +/mob/living/simple_mob/animal/wolf name = "grey wolf" desc = "My, what big jaws it has!" tt_desc = "Canis lupus" @@ -19,6 +19,6 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive // Activate Noms! -/mob/living/simple_mob/vore/wolf +/mob/living/simple_mob/animal/wolf vore_active = 1 vore_icons = SA_ICON_LIVING diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm b/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm index 0c8d35e9d9f..a7f76a39740 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm @@ -177,7 +177,7 @@ ..() // will_eat check is carried out before EatTarget is called, so prey on the prey_excludes list isn't a problem. */ -/mob/living/simple_mob/animal/fox_vr +/mob/living/simple_mob/animal/passive/fox vore_active = 1 // NO VORE SPRITES vore_max_size = RESIZE_TINY diff --git a/maps/tether/submaps/admin_use/spa.dmm b/maps/tether/submaps/admin_use/spa.dmm index 6b387805fd1..3413e29d291 100644 --- a/maps/tether/submaps/admin_use/spa.dmm +++ b/maps/tether/submaps/admin_use/spa.dmm @@ -55,7 +55,7 @@ /turf/simulated/floor/water, /area/submap/spa) "ak" = ( -/mob/living/simple_mob/animal/fox_vr, +/mob/living/simple_mob/animal/passive/fox, /turf/simulated/floor/grass, /area/submap/spa) "al" = ( diff --git a/maps/tether/submaps/aerostat/_aerostat.dm b/maps/tether/submaps/aerostat/_aerostat.dm index efc7528ffbe..7f6425b642e 100644 --- a/maps/tether/submaps/aerostat/_aerostat.dm +++ b/maps/tether/submaps/aerostat/_aerostat.dm @@ -67,7 +67,7 @@ /mob/living/simple_mob/mechanical/hivebot/ranged_damage/basic = 3, /mob/living/simple_mob/mechanical/hivebot/ranged_damage/ion = 3, /mob/living/simple_mob/mechanical/hivebot/ranged_damage/laser = 3, - /mob/living/simple_mob/vore/corrupthound = 1 + /mob/living/simple_mob/vore/aggressive/corrupthound = 1 ) /obj/tether_away_spawner/aerostat_surface @@ -78,9 +78,9 @@ prob_fall = 50 guard = 20 mobs_to_pick_from = list( - /mob/living/simple_mob/vore/corrupthound = 3, + /mob/living/simple_mob/vore/aggressive/corrupthound = 3, /mob/living/simple_mob/mechanical/viscerator = 2, - /mob/living/simple_mob/vore/corrupthound = 1 + /mob/living/simple_mob/vore/aggressive/corrupthound = 1 ) /obj/structure/old_roboprinter diff --git a/maps/tether/submaps/beach/_beach.dm b/maps/tether/submaps/beach/_beach.dm index eb2e8c56338..cba563531c6 100644 --- a/maps/tether/submaps/beach/_beach.dm +++ b/maps/tether/submaps/beach/_beach.dm @@ -95,7 +95,7 @@ prob_fall = 25 //Chance goes down by this much each time it spawns one (not defining and prob_spawn 100 means they spawn as soon as one dies) 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/animal/space/snake + /mob/living/simple_mob/animal/passive/snake ) /obj/tether_away_spawner/beach_outside_friendly @@ -106,7 +106,7 @@ prob_fall = 25 guard = 40 mobs_to_pick_from = list( - /mob/living/simple_mob/fennec + /mob/living/simple_mob/vore/fennec ) /obj/tether_away_spawner/beach_cave @@ -117,10 +117,10 @@ prob_fall = 40 guard = 20 mobs_to_pick_from = list( - /mob/living/simple_mob/vore/frog = 3, //Frogs are 3x more likely to spawn than, - /mob/living/simple_mob/hostile/deathclaw = 1, //these deathclaws are, with these values, + /mob/living/simple_mob/vore/aggressive/frog = 3, //Frogs are 3x more likely to spawn than, + /mob/living/simple_mob/vore/aggressive/deathclaw = 1, //these deathclaws are, with these values, /mob/living/simple_mob/animal/giant_spider = 3, - /mob/living/simple_mob/vore/giant_snake = 1, + /mob/living/simple_mob/vore/aggressive/giant_snake = 1, /mob/living/simple_mob/animal/giant_spider/ion = 2 ) diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm index 0680a1b5b1e..cbd48fd22d7 100644 --- a/maps/tether/tether-01-surface1.dmm +++ b/maps/tether/tether-01-surface1.dmm @@ -13717,7 +13717,7 @@ /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/research) "aFv" = ( -/mob/living/simple_mob/animal/space/gaslamp, +/mob/living/simple_mob/animal/passive/gaslamp, /turf/simulated/floor/outdoors/grass/sif/virgo3b, /area/tether/surfacebase/outside/outside1) "aFw" = ( diff --git a/maps/tether/tether-05-station1.dmm b/maps/tether/tether-05-station1.dmm index a5685c6d392..d0bcc0c960f 100644 --- a/maps/tether/tether-05-station1.dmm +++ b/maps/tether/tether-05-station1.dmm @@ -11414,7 +11414,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/mob/living/simple_mob/animal/fox_vr/Renault, +/mob/living/simple_mob/animal/passive/fox/renault, /turf/simulated/floor/wood, /area/crew_quarters/captain) "aEu" = ( @@ -16440,7 +16440,7 @@ /area/hallway/station/atrium) "bfT" = ( /obj/structure/disposalpipe/segment, -/mob/living/simple_mob/animal/space/snake/noodle, +/mob/living/simple_mob/animal/passive/snake/noodle, /turf/simulated/floor/carpet/oracarpet, /area/crew_quarters/heads/chief) "bfW" = ( diff --git a/maps/tether/tether-08-mining.dmm b/maps/tether/tether-08-mining.dmm index b7a834ae549..db89f96d88f 100644 --- a/maps/tether/tether-08-mining.dmm +++ b/maps/tether/tether-08-mining.dmm @@ -438,7 +438,7 @@ /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/outpost/mining_main/passage) "cu" = ( -/mob/living/simple_mob/animal/space/gaslamp, +/mob/living/simple_mob/animal/passive/gaslamp, /turf/simulated/floor/outdoors/grass/sif/virgo3b, /area/mine/explored) "cv" = ( diff --git a/maps/tether/tether-09-solars.dmm b/maps/tether/tether-09-solars.dmm index e28c506486a..e88ce6596b6 100644 --- a/maps/tether/tether-09-solars.dmm +++ b/maps/tether/tether-09-solars.dmm @@ -202,7 +202,7 @@ /turf/simulated/floor/virgo3b_indoors, /area/tether/outpost/solars_shed) "aw" = ( -/mob/living/simple_mob/animal/space/gaslamp, +/mob/living/simple_mob/animal/passive/gaslamp, /turf/simulated/floor/outdoors/grass/sif/virgo3b, /area/tether/outpost/solars_outside) "ax" = ( @@ -800,7 +800,7 @@ /turf/simulated/mineral/virgo3b, /area/tether/outpost/solars_outside) "bH" = ( -/mob/living/simple_mob/animal/space/gaslamp, +/mob/living/simple_mob/animal/passive/gaslamp, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/tether/outpost/solars_outside) "bI" = ( @@ -817,7 +817,7 @@ /turf/simulated/floor/virgo3b, /area/tether/outpost/solars_outside) "bJ" = ( -/mob/living/simple_mob/animal/space/gaslamp, +/mob/living/simple_mob/animal/passive/gaslamp, /turf/simulated/floor/outdoors/dirt/virgo3b, /area/tether/outpost/solars_outside) "bK" = ( diff --git a/maps/tether/tether_things.dm b/maps/tether/tether_things.dm index 2ac742e7759..05cf0d46290 100644 --- a/maps/tether/tether_things.dm +++ b/maps/tether/tether_things.dm @@ -412,7 +412,7 @@ var/global/list/latejoin_tram = list() prob_fall = 50 guard = 20 mobs_to_pick_from = list( - /mob/living/simple_mob/hostile/jelly = 3, + /mob/living/simple_mob/animal/space/jelly = 3, /mob/living/simple_mob/animal/giant_spider/hunter = 1, /mob/living/simple_mob/animal/giant_spider/phorogenic = 1, /mob/living/simple_mob/animal/giant_spider/lurker = 1, @@ -426,8 +426,8 @@ var/global/list/latejoin_tram = list() prob_fall = 50 guard = 20 mobs_to_pick_from = list( - /mob/living/simple_mob/vore/corrupthound = 1, - /mob/living/simple_mob/vore/rat = 1, + /mob/living/simple_mob/vore/aggressive/corrupthound = 1, + /mob/living/simple_mob/vore/aggressive/rat = 1, /mob/living/simple_mob/animal/space/mimic = 1 ) @@ -439,7 +439,7 @@ var/global/list/latejoin_tram = list() prob_fall = 100 guard = 70 mobs_to_pick_from = list( - /mob/living/simple_mob/vore/dragon = 1 + /mob/living/simple_mob/vore/aggressive/dragon = 1 ) // Used at centcomm for the elevator diff --git a/vorestation.dme b/vorestation.dme index e33b381e8b8..cbfb908ea2a 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2400,6 +2400,7 @@ #include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\defense.dm" #include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\discipline.dm" #include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\subtypes.dm" +#include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\subtypes_vr.dm" #include "code\modules\mob\living\simple_mob\subtypes\slime\xenobio\xenobio.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\bee.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\catgirl.dm" @@ -2418,6 +2419,7 @@ #include "code\modules\mob\living\simple_mob\subtypes\vore\rat.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\redpanda.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\snake.dm" +#include "code\modules\mob\living\simple_mob\subtypes\vore\vore.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\wolf.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\wolfgirl.dm" #include "code\modules\mob\living\simple_mob\subtypes\vore\zz_vore_overrides.dm"