From eebd7c64a99a6daa2f770e2dd02fe2ef32a46736 Mon Sep 17 00:00:00 2001 From: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Date: Tue, 2 Apr 2019 09:27:24 +1000 Subject: [PATCH] Fixes passive and mostly passive mobs blocking the way all the time --- code/game/objects/mob_spawner_vr.dm | 6 +-- code/game/objects/random/random_vr.dm | 6 +-- .../crates_lockers/largecrate_vr.dm | 24 ++++++------ .../simple_mob/subtypes/animal/pets/fox_vr.dm | 38 +++++++++---------- .../subtypes/animal/space/gaslamp_vr.dm | 4 +- .../subtypes/animal/space/snake_vr.dm | 12 +++--- .../subtypes/slime/xenobio/subtypes_vr.dm | 2 + .../subtypes/vore/corrupt_hounds.dm | 28 +++++++------- .../simple_mob/subtypes/vore/deathclaw.dm | 6 +-- .../living/simple_mob/subtypes/vore/dino.dm | 6 +-- .../living/simple_mob/subtypes/vore/dragon.dm | 12 +++--- .../living/simple_mob/subtypes/vore/fennec.dm | 4 +- .../living/simple_mob/subtypes/vore/frog.dm | 8 ++-- .../living/simple_mob/subtypes/vore/horse.dm | 6 +-- .../living/simple_mob/subtypes/vore/jelly.dm | 4 +- .../simple_mob/subtypes/vore/panther.dm | 6 +-- .../living/simple_mob/subtypes/vore/rat.dm | 8 ++-- .../subtypes/vore/shadekin/shadekin.dm | 1 + .../living/simple_mob/subtypes/vore/snake.dm | 4 +- .../living/simple_mob/subtypes/vore/vore.dm | 5 +++ .../living/simple_mob/subtypes/vore/wolf.dm | 4 +- .../subtypes/vore/zz_vore_overrides.dm | 2 +- maps/tether/submaps/aerostat/_aerostat.dm | 6 +-- maps/tether/submaps/beach/_beach.dm | 10 ++--- maps/tether/tether-01-surface1.dmm | 2 +- maps/tether/tether-05-station1.dmm | 4 +- maps/tether/tether-08-mining.dmm | 2 +- maps/tether/tether-09-solars.dmm | 6 +-- maps/tether/tether_things.dm | 8 ++-- vorestation.dme | 2 + 30 files changed, 123 insertions(+), 113 deletions(-) create mode 100644 code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes_vr.dm create mode 100644 code/modules/mob/living/simple_mob/subtypes/vore/vore.dm diff --git a/code/game/objects/mob_spawner_vr.dm b/code/game/objects/mob_spawner_vr.dm index 7b047577ee..6cfc5c153f 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/aggresive/dino/virgo3b = 5, + /mob/living/simple_mob/vore/aggresive/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 dcae284a18..f76b535791 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/aggresive/dino/virgo3b, + prob(1);/mob/living/simple_mob/vore/aggresive/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 b7db1ea0a6..b248bb1cb3 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/aggresive/frog, + /mob/living/simple_mob/vore/horse, + /mob/living/simple_mob/vore/aggresive/panther, + /mob/living/simple_mob/vore/aggresive/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/aggresive/rat, + /mob/living/simple_mob/vore/aggresive/rat/passive, // /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/aggresive/deathclaw, + /mob/living/simple_mob/vore/aggresive/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/aggresive/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 dd929a4d5f..defb62e99f 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/animalpassive/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 3b2fedce80..e615e5f05b 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 822667c5f1..6664cb9e03 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 0000000000..e67717403d --- /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 125268f299..0309e888d8 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/aggresive/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/aggresive/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/aggresive/corrupthound/isSynthetic() return TRUE -/mob/living/simple_mob/vore/corrupthound/speech_bubble_appearance() +/mob/living/simple_mob/vore/aggresive/corrupthound/speech_bubble_appearance() return "synthetic_evil" -/mob/living/simple_mob/vore/corrupthound/apply_melee_effects(var/atom/A) +/mob/living/simple_mob/vore/aggresive/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/aggresive/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/aggresive/corrupthound/remove_eyes() cut_overlay(eye_layer) -/mob/living/simple_mob/vore/corrupthound/New() +/mob/living/simple_mob/vore/aggresive/corrupthound/New() add_eyes() ..() -/mob/living/simple_mob/vore/corrupthound/death(gibbed, deathmessage = "shudders and collapses!") +/mob/living/simple_mob/vore/aggresive/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/aggresive/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/aggresive/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/aggresive/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 c1abc8b55b..526a557ac4 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/aggresive/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/aggresive/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 a587292999..ed7ab6b909 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/aggresive/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/aggresive/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/aggresive/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 463e48931c..6270cf2a8a 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/aggresive/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/aggresive/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/aggresive/dragon/FindTarget() . = ..() if(.) custom_emote(1,"snaps at [.]") */ // Activate Noms! -/mob/living/simple_mob/vore/dragon +/mob/living/simple_mob/vore/aggresive/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/aggresive/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 7056462c17..3e09bd64b4 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 28022fae2f..98481d8f0a 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/aggresive/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/aggresive/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/aggresive/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/aggresive/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 e0c6b62d3e..f73942a066 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 46d10e264a..4a2e93eedb 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 51ebee5f5f..2717eac0f7 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/aggresive/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/aggresive/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 f49d7ec0f4..6763ca84d1 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/aggresive/rat name = "giant rat" desc = "In what passes for a hierarchy among verminous rodents, this one is king." tt_desc = "Mus muscular" @@ -45,7 +45,7 @@ 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/aggresive/rat/passive //Yes it makes no sense. But for now it will work 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 @@ -157,7 +157,7 @@ break return T */ -/mob/living/simple_mob/vore/rat/death() +/mob/living/simple_mob/vore/aggresive/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/aggresive/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 0b3256928f..98ab86057c 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 9c1b349ce5..6e8f87a2d5 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/aggresive/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/aggresive/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 0000000000..199f17c1da --- /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/aggresive + 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 45e25e7ebe..9cef43c74d 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 0c8d35e9d9..a7f76a3974 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/aerostat/_aerostat.dm b/maps/tether/submaps/aerostat/_aerostat.dm index efc7528ffb..e7319ee8db 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/aggresive/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/aggresive/corrupthound = 3, /mob/living/simple_mob/mechanical/viscerator = 2, - /mob/living/simple_mob/vore/corrupthound = 1 + /mob/living/simple_mob/vore/aggresive/corrupthound = 1 ) /obj/structure/old_roboprinter diff --git a/maps/tether/submaps/beach/_beach.dm b/maps/tether/submaps/beach/_beach.dm index eb2e8c5633..9d445aad4b 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/aggresive/frog = 3, //Frogs are 3x more likely to spawn than, + /mob/living/simple_mob/vore/aggresive/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/aggresive/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 0680a1b5b1..cbd48fd22d 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 a5685c6d39..d0bcc0c960 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 b7a834ae54..db89f96d88 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 e28c506486..e88ce6596b 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 2ac742e775..85f8c11ac3 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/aggresive/corrupthound = 1, + /mob/living/simple_mob/vore/aggresive/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/aggresive/dragon = 1 ) // Used at centcomm for the elevator diff --git a/vorestation.dme b/vorestation.dme index e33b381e8b..cbfb908ea2 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"