diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm index 64cfe2e59f..ebe9304618 100644 --- a/code/_helpers/global_lists.dm +++ b/code/_helpers/global_lists.dm @@ -971,6 +971,76 @@ GLOBAL_LIST_INIT(special_roles, list( "Ship Survivor" = 1, // 22 )) +GLOBAL_LIST_INIT(maint_mob_pred_options, list( + "Rabbit" = /mob/living/simple_mob/vore/rabbit, + "Red Panda" = /mob/living/simple_mob/vore/redpanda, + "Fennec" = /mob/living/simple_mob/vore/fennec, + "Fennix" = /mob/living/simple_mob/vore/fennix, + "Fox" = /mob/living/simple_mob/animal/passive/fox, + "Syndi-Fox" = /mob/living/simple_mob/animal/passive/fox/syndicate, + "Raccoon" = /mob/living/simple_mob/animal/passive/raccoon, + "Cat" = /mob/living/simple_mob/animal/passive/cat, + "Space Bumblebee" = /mob/living/simple_mob/vore/bee, + "Space Bear" = /mob/living/simple_mob/animal/space/bear, + "Voracious Lizard" = /mob/living/simple_mob/vore/aggressive/dino, + "Giant Frog" = /mob/living/simple_mob/vore/aggressive/frog, + "Giant Rat" = /mob/living/simple_mob/vore/aggressive/rat, + "Jelly Blob" = /mob/living/simple_mob/vore/jelly, + "Wolf" = /mob/living/simple_mob/vore/wolf, + "Dire Wolf" = /mob/living/simple_mob/vore/wolf/direwolf, + "Large Dog" = /mob/living/simple_mob/vore/wolf/direwolf/dog, + "Juvenile Solargrub" = /mob/living/simple_mob/vore/solargrub, + "Sect Queen" = /mob/living/simple_mob/vore/sect_queen, + "Sect Drone" = /mob/living/simple_mob/vore/sect_drone, + "Defanged Xenomorph" = /mob/living/simple_mob/vore/xeno_defanged, + "Panther" = /mob/living/simple_mob/vore/aggressive/panther, + "Giant Snake" = /mob/living/simple_mob/vore/aggressive/giant_snake, + "Deathclaw" = /mob/living/simple_mob/vore/aggressive/deathclaw, + "Otie" = /mob/living/simple_mob/vore/otie, + "Chubby Otie" = /mob/living/simple_mob/vore/otie/friendly/chubby, + "Mutated Otie" = /mob/living/simple_mob/vore/otie/feral, + "Chubby Mutated Otie" = /mob/living/simple_mob/vore/otie/feral/chubby, + "Red Otie" = /mob/living/simple_mob/vore/otie/red, + "Chubby Red Otie" = /mob/living/simple_mob/vore/otie/red/chubby, + "Corrupt Hound" = /mob/living/simple_mob/vore/aggressive/corrupthound, + "Corrupt Corrupt Hound" = /mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi, + "Hunter Giant Spider" = /mob/living/simple_mob/animal/giant_spider/hunter, + "Lurker Giant Spider" = /mob/living/simple_mob/animal/giant_spider/lurker, + "Pepper Giant Spider" = /mob/living/simple_mob/animal/giant_spider/pepper, + "Thermic Giant Spider" = /mob/living/simple_mob/animal/giant_spider/thermic, + "Webslinger Giant Spider" = /mob/living/simple_mob/animal/giant_spider/webslinger, + "Frost Giant Spider" = /mob/living/simple_mob/animal/giant_spider/frost, + "Nurse Giant Spider" = /mob/living/simple_mob/animal/giant_spider/nurse/eggless, + "Giant Spider Queen" = /mob/living/simple_mob/animal/giant_spider/nurse/queen/eggless, + "Red Dragon" = /mob/living/simple_mob/vore/aggressive/dragon, + "Phoron Dragon" = /mob/living/simple_mob/vore/aggressive/dragon/virgo3b, + "Space Dragon" = /mob/living/simple_mob/vore/aggressive/dragon/space, + "Crypt Drake" = /mob/living/simple_mob/vore/cryptdrake, + "Weretiger" = /mob/living/simple_mob/vore/weretiger, + "Catslug" = /mob/living/simple_mob/vore/alienanimals/catslug, + "Squirrel" = /mob/living/simple_mob/vore/squirrel/big, + "Pakkun" =/mob/living/simple_mob/vore/pakkun, + "Snapdragon" =/mob/living/simple_mob/vore/pakkun/snapdragon, + "Sand pakkun" = /mob/living/simple_mob/vore/pakkun/sand, + "Fire pakkun" = /mob/living/simple_mob/vore/pakkun/fire, + "Amethyst pakkun" = /mob/living/simple_mob/vore/pakkun/purple, + "Raptor" = /mob/living/simple_mob/vore/raptor, + "Giant Bat" = /mob/living/simple_mob/vore/bat, + "Scel (Orange)" = /mob/living/simple_mob/vore/scel/orange, + "Scel (Blue)" = /mob/living/simple_mob/vore/scel/blue, + "Scel (Purple)" = /mob/living/simple_mob/vore/scel/purple, + "Scel (Red)" = /mob/living/simple_mob/vore/scel/red, + "Scel (Green)" = /mob/living/simple_mob/vore/scel/green, + "Cave Stalker" = /mob/living/simple_mob/vore/stalker, + "Kelpie" = /mob/living/simple_mob/vore/horse/kelpie, + "Scrubble" = /mob/living/simple_mob/vore/scrubble, + "Sonadile" = /mob/living/simple_mob/vore/sonadile, + "kururak" = /mob/living/simple_mob/animal/sif/kururak, + "Statue of Temptation" = /mob/living/simple_mob/vore/devil, + "Meowl" = /mob/living/simple_mob/vore/meowl, + "Abyss Leaper" = /mob/living/simple_mob/vore/vore_hostile/leaper, + "Abyss Lurker" = /mob/living/simple_mob/vore/vore_hostile/abyss_lurker + )) // GLOB.alldirs in global.dm is the same list of directions, but since // the specific order matters to get a usable icon_state, it is diff --git a/code/game/machinery/suit_storage/suit_cycler.dm b/code/game/machinery/suit_storage/suit_cycler.dm index e1fc7533dc..583d6ea8ee 100644 --- a/code/game/machinery/suit_storage/suit_cycler.dm +++ b/code/game/machinery/suit_storage/suit_cycler.dm @@ -535,7 +535,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache) target_department.do_refit_suit(suit) // Attached voidsuit helmet to new paint if(target_department.can_refit_helmet(suit?.hood)) - target_department.do_refit_helmet(suit.hood) + target_department.do_refit_helmet(suit?.hood) // Species fitting for all 3 potential changes if(target_species.can_refit_to(helmet, suit, suit?.hood)) diff --git a/code/game/objects/structures/ghost_pods/event_vr.dm b/code/game/objects/structures/ghost_pods/event_vr.dm index 0306467947..8b9709fb9e 100644 --- a/code/game/objects/structures/ghost_pods/event_vr.dm +++ b/code/game/objects/structures/ghost_pods/event_vr.dm @@ -15,63 +15,6 @@ invisibility = INVISIBILITY_OBSERVER spawn_active = TRUE var/announce_prob = 35 - var/list/possible_mobs = list("Rabbit" = /mob/living/simple_mob/vore/rabbit, - "Red Panda" = /mob/living/simple_mob/vore/redpanda, - "Fennec" = /mob/living/simple_mob/vore/fennec, - "Fennix" = /mob/living/simple_mob/vore/fennix, - "Space Bumblebee" = /mob/living/simple_mob/vore/bee, - "Space Bear" = /mob/living/simple_mob/animal/space/bear, - "Voracious Lizard" = /mob/living/simple_mob/vore/aggressive/dino, - "Giant Frog" = /mob/living/simple_mob/vore/aggressive/frog, - "Giant Rat" = /mob/living/simple_mob/vore/aggressive/rat, - "Jelly Blob" = /mob/living/simple_mob/vore/jelly, - "Wolf" = /mob/living/simple_mob/vore/wolf, - "Juvenile Solargrub" = /mob/living/simple_mob/vore/solargrub, - "Sect Queen" = /mob/living/simple_mob/vore/sect_queen, - "Sect Drone" = /mob/living/simple_mob/vore/sect_drone, - "Defanged Xenomorph" = /mob/living/simple_mob/vore/xeno_defanged, - "Panther" = /mob/living/simple_mob/vore/aggressive/panther, - "Giant Snake" = /mob/living/simple_mob/vore/aggressive/giant_snake, - "Deathclaw" = /mob/living/simple_mob/vore/aggressive/deathclaw, - "Otie" = /mob/living/simple_mob/vore/otie, - "Mutated Otie" =/mob/living/simple_mob/vore/otie/feral, - "Red Otie" = /mob/living/simple_mob/vore/otie/red, - "Corrupt Hound" = /mob/living/simple_mob/vore/aggressive/corrupthound, - "Corrupt Corrupt Hound" = /mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi, - "Hunter Giant Spider" = /mob/living/simple_mob/animal/giant_spider/hunter, - "Lurker Giant Spider" = /mob/living/simple_mob/animal/giant_spider/lurker, - "Pepper Giant Spider" = /mob/living/simple_mob/animal/giant_spider/pepper, - "Thermic Giant Spider" = /mob/living/simple_mob/animal/giant_spider/thermic, - "Webslinger Giant Spider" = /mob/living/simple_mob/animal/giant_spider/webslinger, - "Frost Giant Spider" = /mob/living/simple_mob/animal/giant_spider/frost, - "Nurse Giant Spider" = /mob/living/simple_mob/animal/giant_spider/nurse/eggless, - "Giant Spider Queen" = /mob/living/simple_mob/animal/giant_spider/nurse/queen/eggless, - "Red Dragon" = /mob/living/simple_mob/vore/aggressive/dragon, - "Phoron Dragon" = /mob/living/simple_mob/vore/aggressive/dragon/virgo3b, - "Space Dragon" = /mob/living/simple_mob/vore/aggressive/dragon/space, - "Crypt Drake" = /mob/living/simple_mob/vore/cryptdrake, - "Weretiger" = /mob/living/simple_mob/vore/weretiger, - "Catslug" = /mob/living/simple_mob/vore/alienanimals/catslug, - "Squirrel" = /mob/living/simple_mob/vore/squirrel/big, - "Pakkun" =/mob/living/simple_mob/vore/pakkun, - "Snapdragon" =/mob/living/simple_mob/vore/pakkun/snapdragon, - "Sand pakkun" = /mob/living/simple_mob/vore/pakkun/sand, - "Fire pakkun" = /mob/living/simple_mob/vore/pakkun/fire, - "Amethyst pakkun" = /mob/living/simple_mob/vore/pakkun/purple, - "Raptor" = /mob/living/simple_mob/vore/raptor, - "Giant Bat" = /mob/living/simple_mob/vore/bat, - "Scel (Orange)" = /mob/living/simple_mob/vore/scel/orange, - "Scel (Blue)" = /mob/living/simple_mob/vore/scel/blue, - "Scel (Purple)" = /mob/living/simple_mob/vore/scel/purple, - "Scel (Red)" = /mob/living/simple_mob/vore/scel/red, - "Scel (Green)" = /mob/living/simple_mob/vore/scel/green, - "Cave Stalker" = /mob/living/simple_mob/vore/stalker, - "Kelpie" = /mob/living/simple_mob/vore/horse/kelpie, - "Scrubble" = /mob/living/simple_mob/vore/scrubble, - "Sonadile" = /mob/living/simple_mob/vore/sonadile, - "kururak" = /mob/living/simple_mob/animal/sif/kururak, - "Statue of Temptation" = /mob/living/simple_mob/vore/devil - ) /obj/structure/ghost_pod/ghost_activated/maintpred/create_occupant(var/mob/M) ..() @@ -88,7 +31,7 @@ return while(finalized != "Yes" && M.client) - choice = tgui_input_list(M, "What type of predator do you want to play as?", "Maintpred Choice", possible_mobs) + choice = tgui_input_list(M, "What type of predator do you want to play as?", "Maintpred Choice", GLOB.maint_mob_pred_options) if(!choice) //We probably pushed the cancel button on the mob selection. Let's just put the ghost pod back in the list. to_chat(M, span_notice("No mob selected, cancelling.")) reset_ghostpod() @@ -101,12 +44,10 @@ reset_ghostpod() return - var/mobtype = possible_mobs[choice] + var/mobtype = GLOB.maint_mob_pred_options[choice] var/mob/living/simple_mob/newPred = new mobtype(get_turf(src)) qdel(newPred.ai_holder) newPred.ai_holder = null - newPred.voremob_loaded = TRUE // On-demand belly loading. - newPred.init_vore() // On-demand belly loading. //newPred.movement_cooldown = 0 // The "needless artificial speed cap" exists for a reason if(M.mind) M.mind.transfer_to(newPred) @@ -118,6 +59,10 @@ newPred.ckey = M.ckey newPred.visible_message(span_warning("[newPred] emerges from somewhere!")) log_and_message_admins("successfully entered \a [src] and became a [newPred].") + if(tgui_alert(newPred, "Do you want to load the vore bellies from your current slot?", "Load Bellies", list("Yes", "No")) == "Yes") + newPred.copy_from_prefs_vr() + if(LAZYLEN(newPred.vore_organs)) + newPred.vore_selected = newPred.vore_organs[1] qdel(src) /obj/structure/ghost_pod/ghost_activated/maintpred/no_announce @@ -145,7 +90,6 @@ var/mob/living/simple_mob/vore/morph/newMorph = new /mob/living/simple_mob/vore/morph(get_turf(src)) newMorph.voremob_loaded = TRUE // On-demand belly loading. - newMorph.init_vore() // On-demand belly loading. if(M.mind) M.mind.transfer_to(newMorph) to_chat(M, span_notice("You are a " + span_bold("Morph") + ", somehow having gotten aboard the station in your wandering. \ @@ -160,6 +104,10 @@ newMorph.ckey = M.ckey newMorph.visible_message(span_warning("A morph appears to crawl out of somewhere.")) log_and_message_admins("successfully entered \a [src] and became a Morph.") + if(tgui_alert(newMorph, "Do you want to load the vore bellies from your current slot?", "Load Bellies", list("Yes", "No")) == "Yes") + newMorph.copy_from_prefs_vr() + if(LAZYLEN(newMorph.vore_organs)) + newMorph.vore_selected = newMorph.vore_organs[1] qdel(src) /obj/structure/ghost_pod/ghost_activated/morphspawn/no_announce diff --git a/code/modules/admin/player_effects.dm b/code/modules/admin/player_effects.dm index 2646180176..69243d2a66 100644 --- a/code/modules/admin/player_effects.dm +++ b/code/modules/admin/player_effects.dm @@ -104,8 +104,7 @@ var/mob/living/simple_mob/shadekin/red/shadekin = new(Ts) //Abuse of shadekin shadekin.real_name = shadekin.name - shadekin.voremob_loaded = TRUE - shadekin.init_vore() + shadekin.init_vore(TRUE) shadekin.ability_flags |= 0x1 shadekin.phase_shift() shadekin.ai_holder.give_target(target) @@ -158,8 +157,7 @@ target.transforming = TRUE //Cheap hack to stop them from moving var/mob/living/simple_mob/shadekin/shadekin = new kin_type(Tt) shadekin.real_name = shadekin.name - shadekin.voremob_loaded = TRUE - shadekin.init_vore() + shadekin.init_vore(TRUE) shadekin.can_be_drop_pred = TRUE shadekin.dir = SOUTH shadekin.ability_flags |= 0x1 diff --git a/code/modules/admin/verbs/randomverbs_vr.dm b/code/modules/admin/verbs/randomverbs_vr.dm index 682b44e74d..00bc28505d 100644 --- a/code/modules/admin/verbs/randomverbs_vr.dm +++ b/code/modules/admin/verbs/randomverbs_vr.dm @@ -73,8 +73,8 @@ new_mob.vore_selected = new_mob.vore_organs[1] if(isanimal(new_mob)) var/mob/living/simple_mob/Sm = new_mob - Sm.vore_active = TRUE - Sm.voremob_loaded = TRUE + if(!Sm.voremob_loaded || !Sm.vore_active) + Sm.init_vore(TRUE) log_admin("[key_name_admin(src)] has spawned [new_mob.key] as mob [new_mob.type].") message_admins("[key_name_admin(src)] has spawned [new_mob.key] as mob [new_mob.type].", 1) diff --git a/code/modules/admin/verbs/smite.dm b/code/modules/admin/verbs/smite.dm index 8fb9913069..0aeaa0a42d 100644 --- a/code/modules/admin/verbs/smite.dm +++ b/code/modules/admin/verbs/smite.dm @@ -62,8 +62,7 @@ var/mob/living/simple_mob/shadekin/red/shadekin = new(Ts) //Abuse of shadekin shadekin.real_name = shadekin.name - shadekin.voremob_loaded = TRUE - shadekin.init_vore() + shadekin.init_vore(TRUE) shadekin.ability_flags |= 0x1 shadekin.phase_shift() shadekin.ai_holder.give_target(target) @@ -116,8 +115,7 @@ target.transforming = TRUE //Cheap hack to stop them from moving var/mob/living/simple_mob/shadekin/shadekin = new kin_type(Tt) shadekin.real_name = shadekin.name - shadekin.voremob_loaded = TRUE - shadekin.init_vore() + shadekin.init_vore(TRUE) shadekin.can_be_drop_pred = TRUE shadekin.dir = SOUTH shadekin.ability_flags |= 0x1 diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm index c8de7e1223..b6f507d7a6 100644 --- a/code/modules/mob/living/bot/bot.dm +++ b/code/modules/mob/living/bot/bot.dm @@ -564,7 +564,6 @@ /mob/living/bot/Login() no_vore = FALSE // ROBOT VORE - init_vore() // ROBOT VORE add_verb(src, /mob/proc/insidePanel) return ..() diff --git a/code/modules/mob/living/carbon/human/species/station/prommie_blob.dm b/code/modules/mob/living/carbon/human/species/station/prommie_blob.dm index 512d4d44d8..a7f16c8328 100644 --- a/code/modules/mob/living/carbon/human/species/station/prommie_blob.dm +++ b/code/modules/mob/living/carbon/human/species/station/prommie_blob.dm @@ -310,7 +310,7 @@ /mob/living/simple_mob/slime/promethean/get_description_info() return -/mob/living/simple_mob/slime/promethean/init_vore() +/mob/living/simple_mob/slime/promethean/init_vore(force) return /mob/living/simple_mob/slime/promethean/get_available_emotes() diff --git a/code/modules/mob/living/carbon/human/species/station/protean/protean_blob.dm b/code/modules/mob/living/carbon/human/species/station/protean/protean_blob.dm index 23df9f0662..f1f7585fc8 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean/protean_blob.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean/protean_blob.dm @@ -181,7 +181,7 @@ /mob/living/simple_mob/protean_blob/speech_bubble_appearance() return "synthetic" -/mob/living/simple_mob/protean_blob/init_vore() +/mob/living/simple_mob/protean_blob/init_vore(force) return //Don't make a random belly, don't waste your time /mob/living/simple_mob/protean_blob/isSynthetic() diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index 17e06b2a68..efcfcf617e 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -44,6 +44,6 @@ else voice_sounds_list = DEFAULT_TALK_SOUNDS resize(size_multiplier, animate = FALSE, uncapped = has_large_resize_bounds(), ignore_prefs = TRUE, aura_animation = FALSE) - init_vore() + init_vore(TRUE) return . diff --git a/code/modules/mob/living/silicon/pai/examine.dm b/code/modules/mob/living/silicon/pai/examine.dm index 9b3dece097..e7a767b05b 100644 --- a/code/modules/mob/living/silicon/pai/examine.dm +++ b/code/modules/mob/living/silicon/pai/examine.dm @@ -6,10 +6,10 @@ if(!src.client) . += "It appears to be in stand-by mode." //afk if(UNCONSCIOUS) . += span_warning("It doesn't seem to be responding.") if(DEAD) . += span_deadsay("It looks completely unsalvageable.") - . += attempt_vr(src,"examine_reagent_bellies",args) // reagent bellies + . += examine_reagent_bellies() // reagent bellies // VOREStation Edit: Start - . += attempt_vr(src,"examine_bellies",args) //VOREStation Edit + . += examine_bellies() //VOREStation Edit if(print_flavor_text()) . += "\n[print_flavor_text()]\n" // VOREStation Edit: End . += "" diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm index 957915e4c2..06b89e5fa0 100644 --- a/code/modules/mob/living/silicon/robot/examine.dm +++ b/code/modules/mob/living/silicon/robot/examine.dm @@ -29,10 +29,10 @@ . += "It appears to be in stand-by mode." //afk if(UNCONSCIOUS) . += span_warning("It doesn't seem to be responding.") if(DEAD) . += span_deadsay("It looks completely unsalvageable.") - . += attempt_vr(src,"examine_reagent_bellies",args) // reagent bellies + . += examine_reagent_bellies() // reagent bellies // VOREStation Edit: Start - . += attempt_vr(src,"examine_bellies_borg",args) //VOREStation Edit + . += examine_bellies_borg()//VOREStation Edit // VOREStation Edit: End . += "" diff --git a/code/modules/mob/living/simple_mob/harvesting.dm b/code/modules/mob/living/simple_mob/harvesting.dm index 66cf2a89cd..eb6e1b7254 100644 --- a/code/modules/mob/living/simple_mob/harvesting.dm +++ b/code/modules/mob/living/simple_mob/harvesting.dm @@ -25,9 +25,9 @@ else . += span_notice("It can be [harvest_verb] now.") - . += attempt_vr(src,"examine_reagent_bellies",args) + . += examine_reagent_bellies() - . += attempt_vr(src,"examine_bellies",args) + . += examine_bellies() . += "" if(print_flavor_text()) . += "
[print_flavor_text()]" diff --git a/code/modules/mob/living/simple_mob/simple_mob.dm b/code/modules/mob/living/simple_mob/simple_mob.dm index 3fc02abeb4..95532497a4 100644 --- a/code/modules/mob/living/simple_mob/simple_mob.dm +++ b/code/modules/mob/living/simple_mob/simple_mob.dm @@ -236,8 +236,7 @@ . = ..() to_chat(src,span_boldnotice("You are \the [src].") + " [player_msg]") if(vore_active && !voremob_loaded) - voremob_loaded = TRUE - init_vore() + init_vore(TRUE) if(hasthermals) add_verb(src, /mob/living/simple_mob/proc/hunting_vision) //So that maint preds can see prey through walls, to make it easier to find them. diff --git a/code/modules/mob/living/simple_mob/simple_mob_vr.dm b/code/modules/mob/living/simple_mob/simple_mob_vr.dm index 414c8d2279..1414de091e 100644 --- a/code/modules/mob/living/simple_mob/simple_mob_vr.dm +++ b/code/modules/mob/living/simple_mob/simple_mob_vr.dm @@ -104,8 +104,6 @@ if(src == M) //Don't eat YOURSELF dork //ai_log("vr/won't eat [M] because it's me!", 3) //VORESTATION AI TEMPORARY REMOVAL return 0 - if(!M.devourable) // Why was there never a check for edibility to begin with - return 0 if(M.is_incorporeal()) // No eating the phased ones return 0 if(vore_ignores_undigestable && !M.digestable) //Don't eat people with nogurgle prefs @@ -206,7 +204,10 @@ . = ..() // Make sure you don't call ..() on this one, otherwise you duplicate work. -/mob/living/simple_mob/init_vore() +/mob/living/simple_mob/init_vore(force) + if(force) + vore_active = TRUE + voremob_loaded = TRUE if(!vore_active || no_vore || !voremob_loaded) return @@ -219,10 +220,17 @@ add_verb(src, /mob/living/simple_mob/proc/toggle_digestion) add_verb(src, /mob/living/simple_mob/proc/toggle_fancygurgle) add_verb(src, /mob/living/proc/vertical_nom) + add_verb(src, /mob/living/simple_mob/proc/animal_nom) + add_verb(src, /mob/living/proc/shred_limb) + add_verb(src, /mob/living/simple_mob/proc/nutrition_heal) if(LAZYLEN(vore_organs)) return + can_be_drop_pred = TRUE // Mobs will eat anyone that decides to drop/slip into them by default. + load_default_bellies() + +/mob/living/simple_mob/proc/load_default_bellies() //A much more detailed version of the default /living implementation var/obj/belly/B = new /obj/belly(src) vore_selected = B @@ -264,7 +272,6 @@ "The juices pooling beneath you sizzle against your sore skin.", "The churning walls slowly pulverize you into meaty nutrients.", "The stomach glorps and gurgles as it tries to work you into slop.") - can_be_drop_pred = TRUE // Mobs will eat anyone that decides to drop/slip into them by default. B.belly_fullscreen = "yet_another_tumby" /mob/living/simple_mob/Bumped(var/atom/movable/AM, yes) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm index ab2f821903..46f9ff6298 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm @@ -115,11 +115,7 @@ say_maybe_target = list() say_got_target = list() -/mob/living/simple_mob/vore/alienanimals/catslug/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/alienanimals/catslug/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm index 0ef823a7c8..41940f75ea 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm @@ -95,11 +95,7 @@ GLOBAL_VAR_INIT(jellyfish_count, 0) emote_see = list("flickers", "flashes", "looms","pulses","sways","shimmers hypnotically") -/mob/living/simple_mob/vore/alienanimals/space_jellyfish/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/alienanimals/space_jellyfish/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "internal chamber" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm index c8dce0ba26..7014211c85 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm @@ -86,11 +86,7 @@ emote_see = list("spins its head around", "shuffles","shambles","practices on the xylophone","drinks some milk","looks at you. Its hollow, bottomless sockets gaze into you greedily.") emote_hear = list("rattles","makes a spooky sound","cackles madly","plinks","clacks") -/mob/living/simple_mob/vore/alienanimals/skeleton/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/alienanimals/skeleton/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm index 79c4d47568..85140c8c89 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm @@ -61,11 +61,7 @@ vore_default_contamination_color = "grey" vore_default_item_mode = IM_DIGEST -/mob/living/simple_mob/vore/alienanimals/dustjumper/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/alienanimals/dustjumper/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm index a130d0b23f..4ae6362b1f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm @@ -51,11 +51,7 @@ /datum/say_list/spacewhale emote_see = list("ripples and flows", "flashes rhythmically","glows faintly","investigates something") -/mob/living/simple_mob/vore/overmap/spacewhale/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/overmap/spacewhale/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm index 9836c67850..b2563b1b80 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm @@ -91,11 +91,7 @@ emote_hear = list("thrumms","clicks","rattles","groans","burbles") -/mob/living/simple_mob/vore/alienanimals/startreader/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/alienanimals/startreader/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "gastric sac" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/succlet.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/succlet.dm index cc3346533c..771d2078b1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/succlet.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/succlet.dm @@ -72,11 +72,7 @@ say_maybe_target = list("...") say_got_target = list("...") -/mob/living/simple_mob/vore/alienanimals/succlet/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/alienanimals/succlet/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stummy" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm index 47955b2343..f5caa00f4f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm @@ -130,7 +130,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? has_langs = list(LANGUAGE_TEPPI) say_list_type = /datum/say_list/teppi - player_msg = "Teppi are large omnivorous quadrupeds. You have four toes on each paw, a long, strong tail, and are quite tough and powerful. You’re a lot more intimidating than you are actually harmful though. Your kind are ordinarily rather passive, only really rising to violence when someone does violence to you or others like you. You’re not stupid though, you can commiunicate with others of your kind, and form bonds with those who are kind to you, be they Teppi or otherwise.
- - - - -
" + span_notice("While you may have access to galactic common, this is purely meant for making it so you can understand people in an OOC manner, for facilitating roleplay. You almost certainly should not be speaking to people or roleplaying as though you understand everything everyone says perfectly, but it's not unreasonable to be able to intuit intent and such through people's tones when they speak. Teppi are kind of smart, but they are animals, and should be roleplayed as such.") + " " + span_warning("ADDITIONALLY, you have the ability to produce offspring if you're well fed enough every once in a while, and the ability to disable this from happening to you. These verbs exist for to preserve the mechanical functionality of the mob you are playing. You should be aware of your surroundings when you use this verb, and NEVER use it to prefbreak or be disruptive. If in doubt, don't use it.") + " " + span_notice("Also, to note, AI Teppi will never initiate breeding with player Teppi.") + player_msg = "Teppi are large omnivorous quadrupeds. You have four toes on each paw, a long, strong tail, and are quite tough and powerful. You're a lot more intimidating than you are actually harmful though. Your kind are ordinarily rather passive, only really rising to violence when someone does violence to you or others like you. You're not stupid though, you can commiunicate with others of your kind, and form bonds with those who are kind to you, be they Teppi or otherwise.
- - - - -
" + span_notice("While you may have access to galactic common, this is purely meant for making it so you can understand people in an OOC manner, for facilitating roleplay. You almost certainly should not be speaking to people or roleplaying as though you understand everything everyone says perfectly, but it's not unreasonable to be able to intuit intent and such through people's tones when they speak. Teppi are kind of smart, but they are animals, and should be roleplayed as such.") + " " + span_warning("ADDITIONALLY, you have the ability to produce offspring if you're well fed enough every once in a while, and the ability to disable this from happening to you. These verbs exist for to preserve the mechanical functionality of the mob you are playing. You should be aware of your surroundings when you use this verb, and NEVER use it to prefbreak or be disruptive. If in doubt, don't use it.") + " " + span_notice("Also, to note, AI Teppi will never initiate breeding with player Teppi.") loot_list = list(/obj/item/bone/horn = 100) internal_organs = list(\ /obj/item/organ/internal/brain,\ @@ -165,15 +165,11 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? vore_pounce_falloff = 0 vore_standing_too = TRUE -/mob/living/simple_mob/vore/alienanimals/teppi/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/alienanimals/teppi/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" - B.desc = "The heat of the roiling flesh around you bakes into you immediately as you’re cast into the gloom of a Teppi’s primary gastric chamber. The undulations are practically smothering, clinging to you and grinding you all over as the Teppi continues about its day. The walls are heavy against you, so it’s really difficult to move at all, while the heart of this creature pulses rhythmically somewhere nearby, and you can feel the throb of its pulse in the doughy squish pressing up against you. Your figure sinks a ways into the flesh as it presses in, wrapping limbs up between countless slick folds and kneading waves. It’s not long before you’re positively soaked in a thin layer of slime as you’re rocked and squeezed and jostled in the stomach of your captor." + B.desc = "The heat of the roiling flesh around you bakes into you immediately as you're cast into the gloom of a Teppi's primary gastric chamber. The undulations are practically smothering, clinging to you and grinding you all over as the Teppi continues about its day. The walls are heavy against you, so it's really difficult to move at all, while the heart of this creature pulses rhythmically somewhere nearby, and you can feel the throb of its pulse in the doughy squish pressing up against you. Your figure sinks a ways into the flesh as it presses in, wrapping limbs up between countless slick folds and kneading waves. It's not long before you're positively soaked in a thin layer of slime as you're rocked and squeezed and jostled in the stomach of your captor." B.mode_flags = 40 B.belly_fullscreen = "yet_another_tumby" B.digest_brute = 0.05 @@ -183,103 +179,103 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? B.escapechance = 15 B.emote_lists[DM_DRAIN] = list( - "The walls press in heavily over you, holding you tightly and grinding, churning against your body powerfully!! You can feel %pred’s heartbeat through the flesh, pounding in your ears, and the groaning gurgles of the gastric chamber rolling around you, eagerly pressing in against you.", + "The walls press in heavily over you, holding you tightly and grinding, churning against your body powerfully!! You can feel %pred's heartbeat through the flesh, pounding in your ears, and the groaning gurgles of the gastric chamber rolling around you, eagerly pressing in against you.", "The squeezing touch of the practically molten walls form to your figure, pressing in close and gliding across the shapes of your body, pressing, bending, and churning you casually! The intensity of it all is almost hard to comprehend. It is not painful, so much as just, almost completely overpowering, exhausting...", - "The gurgling bubbling sounds of %pred’s body drown out much of everything else as you’re submerged in the rolling waves of wrinkled belly flesh. You can hear the flesh stretch and shift as %pred moves. The whooshing of %pred’s breath catches your attention now and then, and how things seem to get tighter for you when the whoosh draws in, squeezing you that much more.", + "The gurgling bubbling sounds of %pred's body drown out much of everything else as you're submerged in the rolling waves of wrinkled belly flesh. You can hear the flesh stretch and shift as %pred moves. The whooshing of %pred's breath catches your attention now and then, and how things seem to get tighter for you when the whoosh draws in, squeezing you that much more.", "The creak of muscle and bone containing you sounds through the sloppy flesh pressed in against you as %pred moves. Your body is forced into a tighter curl as %belly churns over you, forming to take up any free space. This hot, humid organic gloom seems to be totally focused on you, working hard to make use of you however it can...", - "It’s so hard to move with all the heavy flesh pressing in on you, wearing you down and making it that much harder to move as the moments pass. The squashy walls form to your figure and lets your weight sink in quite a ways before the tension builds. An idle flex of the muscles beyond shoves you back into place, and the cycle begins again.", - "%pred’s %belly rolls over you heavily a few times, burying you briefly in an intense hold and shoving you to the back end of the chamber. There’s no free space, just powerful squeezes and slimy squelches! The wrinkly walls ripple over you powerfully as your body is slowly churned from one end to the other!", - "What little air there is in here is so thick that you could cut it with a knife, HOT and humid and just totally oppressive. The throbbing bodily motions quake through you as you’re jostled and tossed around amid rolling waves of wrinkled flesh, oozing with a thin slime. %pred’s heart pulses in your ear and all around you as you’re contained completely within the %belly, confined to the pitch black, intimate space, hidden away amid %pred.", - "The chaotic pressing and churning all around you makes it hard to get your bearings. The sloppy presses of hot heavy flesh shove you here and squeeze you there, never leaving you alone as they enjoy you. It’s hard to get ANY space to yourself, and to do so, you usually have to really fight for it, and sacrifice some other part of your body to the squeezing gropes of %pred’s insistent %belly.", - "Thick rolling waves of flesh batter against and form to you as you’re smothered briefly against the doughy walls of %pred’s %belly. The hold goes on for a little too long, but just as you start to worry, it eases up a little bit and gives you an ounce of space. … For about three seconds, before the chamber collapses in on you again, grinding and squeezing and churning you around idly. The grumbling symphony of that gut working on you is impossible to tune out as the burbling sound of slick flesh and goopy insides fill your ears.", - "The walls that separate you from the outside world are thick, and not just because of the few inches of doughy, stretchy %belly lining that’s containing you immediately. Beyond that there are other organs unseen, glooping and churning and glorgling outside of your chamber, then there are layers of muscle and bone, and finally a thick hide and ample fluff. This all means that, for your part, you’re likely a small shifting shape under that fluffy exterior, packed away deep at the core of all of those layers, so far from the outside world as that chamber grinds and smothers over you, smearing you in slime and keeping you nice and tucked deep into the rumbling darkness.") + "It's so hard to move with all the heavy flesh pressing in on you, wearing you down and making it that much harder to move as the moments pass. The squashy walls form to your figure and lets your weight sink in quite a ways before the tension builds. An idle flex of the muscles beyond shoves you back into place, and the cycle begins again.", + "%pred's %belly rolls over you heavily a few times, burying you briefly in an intense hold and shoving you to the back end of the chamber. There's no free space, just powerful squeezes and slimy squelches! The wrinkly walls ripple over you powerfully as your body is slowly churned from one end to the other!", + "What little air there is in here is so thick that you could cut it with a knife, HOT and humid and just totally oppressive. The throbbing bodily motions quake through you as you're jostled and tossed around amid rolling waves of wrinkled flesh, oozing with a thin slime. %pred's heart pulses in your ear and all around you as you're contained completely within the %belly, confined to the pitch black, intimate space, hidden away amid %pred.", + "The chaotic pressing and churning all around you makes it hard to get your bearings. The sloppy presses of hot heavy flesh shove you here and squeeze you there, never leaving you alone as they enjoy you. It's hard to get ANY space to yourself, and to do so, you usually have to really fight for it, and sacrifice some other part of your body to the squeezing gropes of %pred's insistent %belly.", + "Thick rolling waves of flesh batter against and form to you as you're smothered briefly against the doughy walls of %pred's %belly. The hold goes on for a little too long, but just as you start to worry, it eases up a little bit and gives you an ounce of space. … For about three seconds, before the chamber collapses in on you again, grinding and squeezing and churning you around idly. The grumbling symphony of that gut working on you is impossible to tune out as the burbling sound of slick flesh and goopy insides fill your ears.", + "The walls that separate you from the outside world are thick, and not just because of the few inches of doughy, stretchy %belly lining that's containing you immediately. Beyond that there are other organs unseen, glooping and churning and glorgling outside of your chamber, then there are layers of muscle and bone, and finally a thick hide and ample fluff. This all means that, for your part, you're likely a small shifting shape under that fluffy exterior, packed away deep at the core of all of those layers, so far from the outside world as that chamber grinds and smothers over you, smearing you in slime and keeping you nice and tucked deep into the rumbling darkness.") B.emote_lists[DM_DIGEST] = list( - "The walls close in on you in thick, heavy waves, smearing you in a thick slime. Working hard to churn over your figure intensely. The heat of the chamber soaks into you along with the fluids you’re being lathered in. A telling tingle sets in the longer you are exposed to those fluids, while no part of you is spared from the probing churns and deep kneads of %pred’s insistent %belly. . .", - "The doughy press of %pred’s %belly almost seems to feel over you, actively seeking you within that gloomy humid chamber. The sloppy burbling of that thick flesh gliding and smearing over you is impossible to ignore, the sound of your own body slapping and slurping amid those active pulsing folds and the bubbling slime a sign that you are indeed held deep within the organic confines of another’s hungry gut… and it’s focused on you.", - "The sounds outside of the %belly are difficult to make out. You can hear little creaks and bumps against %pred’s hide though, the sound of the skin stretching to form to your predator’s shape, and to contain you deep within. Of course, the slurping, squishing, and GURGLING of that gut working around you is always more immediately apparent, along with the heavy throbbing of %pred’s heart.", - "You find that as you’re rocked and ground amid the gurgling %belly, the ever present thumping drone of %pred’s heartbeat pounds in your ears, the powerful thudding of it pulses through the flesh holding you, throbbing across every wrinkle and fold, every surface presses in at you just that little bit more with each and every throb of that heartbeat. The burbling grumbles of that gut working around you too, fill your ears with a deep gastric symphony as those walls work hard to break you down.", + "The walls close in on you in thick, heavy waves, smearing you in a thick slime. Working hard to churn over your figure intensely. The heat of the chamber soaks into you along with the fluids you're being lathered in. A telling tingle sets in the longer you are exposed to those fluids, while no part of you is spared from the probing churns and deep kneads of %pred's insistent %belly. . .", + "The doughy press of %pred's %belly almost seems to feel over you, actively seeking you within that gloomy humid chamber. The sloppy burbling of that thick flesh gliding and smearing over you is impossible to ignore, the sound of your own body slapping and slurping amid those active pulsing folds and the bubbling slime a sign that you are indeed held deep within the organic confines of another's hungry gut… and it's focused on you.", + "The sounds outside of the %belly are difficult to make out. You can hear little creaks and bumps against %pred's hide though, the sound of the skin stretching to form to your predator's shape, and to contain you deep within. Of course, the slurping, squishing, and GURGLING of that gut working around you is always more immediately apparent, along with the heavy throbbing of %pred's heart.", + "You find that as you're rocked and ground amid the gurgling %belly, the ever present thumping drone of %pred's heartbeat pounds in your ears, the powerful thudding of it pulses through the flesh holding you, throbbing across every wrinkle and fold, every surface presses in at you just that little bit more with each and every throb of that heartbeat. The burbling grumbles of that gut working around you too, fill your ears with a deep gastric symphony as those walls work hard to break you down.", "The gurgling walls press in heavily, overpowering your limbs briefly as the chamber collapses in to grind over you from head to toe!! No part of you is left out as the doughy flesh glides and grinds and jostles you around, smothering you in thick slime here and squeezing you down into a tight little ball there. The satisfied puffing coming from nearby through the flesh all you need to know that %pred is happy to have you.", - "The slime bubbles and glorps around you as you’re smothered in those thick walls! The slick surfaces mold to your figure as the throbbing of %pred’s pulse squeezes you that little bit more with each beat of their heart. The tingling caused by that slime spreads all across your body as you’re totally soaked in it, and there’s nowhere within this chamber to get away from it!", - "The roaring gurgles of the active gut squeezing and squelching in around you sound out for a few moments as you are smushed and squeezed intensely! This is it! %pred’s %belly is trying to claim you utterly!!!! But after a few moments the chamber eases off, leaving you sopping wet with thick, stringy slime.", - "It’s so hot, sweltering even! The burbling sounds of this organic cacophony swell and ebb all around you as thick slimes gush around you with the motion of %pred’s %belly. It’s hard to move in this tingly embrace even though the squashy walls are absolutely slippery! You can pull your limbs out from between the heavy meaty folds with some effort, and when you do there’s a messy sucking noise in the wake of the motion. Of course, such a disturbance naturally warrants that the chamber would redouble its efforts to subdue you and smother you in those thick tingling slimes.", + "The slime bubbles and glorps around you as you're smothered in those thick walls! The slick surfaces mold to your figure as the throbbing of %pred's pulse squeezes you that little bit more with each beat of their heart. The tingling caused by that slime spreads all across your body as you're totally soaked in it, and there's nowhere within this chamber to get away from it!", + "The roaring gurgles of the active gut squeezing and squelching in around you sound out for a few moments as you are smushed and squeezed intensely! This is it! %pred's %belly is trying to claim you utterly!!!! But after a few moments the chamber eases off, leaving you sopping wet with thick, stringy slime.", + "It's so hot, sweltering even! The burbling sounds of this organic cacophony swell and ebb all around you as thick slimes gush around you with the motion of %pred's %belly. It's hard to move in this tingly embrace even though the squashy walls are absolutely slippery! You can pull your limbs out from between the heavy meaty folds with some effort, and when you do there's a messy sucking noise in the wake of the motion. Of course, such a disturbance naturally warrants that the chamber would redouble its efforts to subdue you and smother you in those thick tingling slimes.", "The walls around you flex inward briefly, burbling and squelching heavily as everything rushed together, wringing you powerfully for a few moments while, somewhere far above you can hear the bassy rumble of a casual belch, much of the small amount of acrid air available rushing out with the sound. After several long moments held in the tight embrace of that pulsing flesh, things ease up a bit again and resume their insistent, tingly churnings.", - "It’s pitch black and completely slimy in here, %pred sways their %belly a bit here and there to toss you from one end to the other, tumbling you end over end as you’re churned in that active %belly. It’s all so slick and squishy, so it is really hard to get any footing or grip on things to stabilize your position, which means that you’re left at the mercy of those gloomy gastric affections and the tingling touch of those sticky syrupy slimes that the walls lather into your body.") + "It's pitch black and completely slimy in here, %pred sways their %belly a bit here and there to toss you from one end to the other, tumbling you end over end as you're churned in that active %belly. It's all so slick and squishy, so it is really hard to get any footing or grip on things to stabilize your position, which means that you're left at the mercy of those gloomy gastric affections and the tingling touch of those sticky syrupy slimes that the walls lather into your body.") B.emote_lists[DM_HOLD] = list( - "The burbling %belly rocks and glides over you gently as you’re held deep within %pred, the deep thumping of their heart pulses all around you as you’re caressed and pressed by heavy, doughy walls.", - "%pred’s %belly glorgles around you idly as you’re held gently by the slick, wrinkled flesh.", - "The ever present beating of %pred’s heart throbs through the chamber around you. As you sink into the flesh a little ways, you can feel the pressure of the pulse pump in against you that much more snug for an instant, just in time with the thump of the nearby heart.", + "The burbling %belly rocks and glides over you gently as you're held deep within %pred, the deep thumping of their heart pulses all around you as you're caressed and pressed by heavy, doughy walls.", + "%pred's %belly glorgles around you idly as you're held gently by the slick, wrinkled flesh.", + "The ever present beating of %pred's heart throbs through the chamber around you. As you sink into the flesh a little ways, you can feel the pressure of the pulse pump in against you that much more snug for an instant, just in time with the thump of the nearby heart.", "As %pred breathes you can feel the %belly you are within compact in against you a bit more, the pressure of the inflating lungs smooshing the other organs out of the way a bit, and giving you a bit more of a squeeze, before with a whoosh the breath rushes out again, and the cycle repeats.", "As %pred goes about their day you can feel the motions of their body jostle you a bit here and there. Bumping and bouncing you against the doughy pressure of those interior confines, the gloopy gurgles sounding off from somewhere deeper inside...", - "The walls press in heavily on you for a few moments. Squeezing across you in a heavy, possessive churn. A smothering squeeze that leaves you breathless for a few long moments, coating you in a thin layer of slick slime. The walls seem to retreat reluctantly, leaving you in the sweltering humid air of %pred’s cramped %belly.", - "It’s hard to stay in place with how slick and squashy the walls of %pred’s %belly are. Thick and smushy and soft, you can sink into them several inches before the tension catches you and rolls you around at the crater your body weight makes. A pool of thin slimes gathers around you some, clinging close as you’re held snugly deep within %pred.", - "The press of slick flesh to your body and in against itself is ever present within this slimy space. The squelches and grumbles of that tummy shifting around you never really go away. The wrinkled walls would glide against themselves here and there creating an idle cacophony of squish, while the caress of that flesh in against your body makes a more prevalent slurping that’s hard to escape.", - "Held within the pitch black gloom of this gently churning organic chamber it’s hard to get much room to yourself. The walls are always prone to rolling in and squeezing over you for long moments.", - "Despite the constant motion of fleshy waves gliding in against you and the burbling sounds of the inner workings of all those tubes and organs, the steady beating of %pred’s heart, and the gentle whooshing of their breath were surprisingly relaxing.") + "The walls press in heavily on you for a few moments. Squeezing across you in a heavy, possessive churn. A smothering squeeze that leaves you breathless for a few long moments, coating you in a thin layer of slick slime. The walls seem to retreat reluctantly, leaving you in the sweltering humid air of %pred's cramped %belly.", + "It's hard to stay in place with how slick and squashy the walls of %pred's %belly are. Thick and smushy and soft, you can sink into them several inches before the tension catches you and rolls you around at the crater your body weight makes. A pool of thin slimes gathers around you some, clinging close as you're held snugly deep within %pred.", + "The press of slick flesh to your body and in against itself is ever present within this slimy space. The squelches and grumbles of that tummy shifting around you never really go away. The wrinkled walls would glide against themselves here and there creating an idle cacophony of squish, while the caress of that flesh in against your body makes a more prevalent slurping that's hard to escape.", + "Held within the pitch black gloom of this gently churning organic chamber it's hard to get much room to yourself. The walls are always prone to rolling in and squeezing over you for long moments.", + "Despite the constant motion of fleshy waves gliding in against you and the burbling sounds of the inner workings of all those tubes and organs, the steady beating of %pred's heart, and the gentle whooshing of their breath were surprisingly relaxing.") B.emote_lists[DM_ABSORB] = list( - "The intensity of the flesh pumping in against you makes it somewhat hard to tell how soft and tarry the surfaces pressing into you have gotten. As your extremities disappear between the folds of flesh inside there it’s so difficult to pull them back out, like squirming against hot, gooey quicksand! %pred’s %belly seems quite insistent on sinking you deeper, and claiming you entirely.", + "The intensity of the flesh pumping in against you makes it somewhat hard to tell how soft and tarry the surfaces pressing into you have gotten. As your extremities disappear between the folds of flesh inside there it's so difficult to pull them back out, like squirming against hot, gooey quicksand! %pred's %belly seems quite insistent on sinking you deeper, and claiming you entirely.", "The pressure is intense, the slimy walls rolling over you again and again, really clinging to your figure, sticky and slurpy, you can feel the tug of the flesh drawing you in, and the flickers of another presence along the edges of your mind.", "The wrinkled flesh flows between your fingers and wraps in against your body as it presses in and clings to you. The walls are extremely soft, so much so that you can sink deep into them, where, a curious tingling begins to tickle at you the deeper you go.", - "The pulse of %pred’s heart throbs all around you, through the flesh and up against you. A powerful pumping that rolls through every little bit of the %belly. The softening walls steadily flow over you, steadily sinking you into their surface a ways where that throbbing seems to get that much more intense, pulsing all around you as the flesh forms skin tight to you… and your heart seems to adjust too, thumping in your ears in time with %pred’s.", - "The pressure of %pred’s body forming against you makes it hard to move at all. The walls fold in against you, wrapping you up and steadily submerging you, a texture something akin to molten marshmallow hugs you all around, filling in the creases and spaces between, but even as you’re held there so tightly, you’d find that you’re neither crushed nor suffocated… Held so deep and tight as that %belly works to make you one with it.", - "As the flesh of %pred’s %belly forms against you and flows across your body, you can feel and hear the wet slide of its weight spreading and rubbing against you. As it forms against your ears though and really clings on to you, the sloppy wet sounds of the interior of some weird alien fade, to be replaced by a powerful thumping heartbeat. As you sink into %pred’s body, it becomes harder and harder to identify where you end and %pred begins, and that pumping heartbeat lulls your mind into something of a dull haze.", - "As the gooey touch of %pred’s body rolls over you, you can’t help but notice just how soft it all is, despite the intensity of the pressure squeezing in against you, clinging to your figure in an insistent smothering embrace, it’s never painful. The flesh you’re being held against forms to you, molding against you, creating a space that’s perfectly sized for you. A cavity shaped exactly like you. A place where you belong.", - "As the pumping flesh courses against you, gliding and throbbing against your touch, letting you sink in far beyond where it seems reasonable for tension to have caught you, you notice that whatever appendage has sunk that deep begins to feel a bit tingly, a bit starry, like it’s become a twinkling starlight. It’s weird, but not exactly uncomfortable. There’s a sense of otherness that brushes comfortably somewhere against the back of your mind, that gets stronger the deeper you sink...", - "The rippling touch of %pred’s wrinkled flesh folding in against you is hard to escape. No matter where you turn, it’s all closing in on you, pressing to you. Practically molten, the pressure of it all molds to you and leaves no part of your figure untouched, and yet, even as it forms skin tight in against you, it doesn’t stop there. You seem to still sink further into the squish, the surface of it all flows over your figure and submerges you deeper, and deeper… and deeper, until there’s nothing but the heat and the throb of %pred’s heart all around you.", - "The pressure is intense. The throbbing of %pred’s heart in your ears is impossible to ignore as the weight of your predator shifts when they move. You might notice that, as you sink deeper into the pressure of %pred, you’re more conscious of those shifts and wobbles, as if they were your own, and the appreciative flickerings of consciousness that seems to have claimed you. You can feel each shift and jiggle of the fluffy critter’s movements as you’re absorbed...") + "The pulse of %pred's heart throbs all around you, through the flesh and up against you. A powerful pumping that rolls through every little bit of the %belly. The softening walls steadily flow over you, steadily sinking you into their surface a ways where that throbbing seems to get that much more intense, pulsing all around you as the flesh forms skin tight to you… and your heart seems to adjust too, thumping in your ears in time with %pred's.", + "The pressure of %pred's body forming against you makes it hard to move at all. The walls fold in against you, wrapping you up and steadily submerging you, a texture something akin to molten marshmallow hugs you all around, filling in the creases and spaces between, but even as you're held there so tightly, you'd find that you're neither crushed nor suffocated… Held so deep and tight as that %belly works to make you one with it.", + "As the flesh of %pred's %belly forms against you and flows across your body, you can feel and hear the wet slide of its weight spreading and rubbing against you. As it forms against your ears though and really clings on to you, the sloppy wet sounds of the interior of some weird alien fade, to be replaced by a powerful thumping heartbeat. As you sink into %pred's body, it becomes harder and harder to identify where you end and %pred begins, and that pumping heartbeat lulls your mind into something of a dull haze.", + "As the gooey touch of %pred's body rolls over you, you can't help but notice just how soft it all is, despite the intensity of the pressure squeezing in against you, clinging to your figure in an insistent smothering embrace, it's never painful. The flesh you're being held against forms to you, molding against you, creating a space that's perfectly sized for you. A cavity shaped exactly like you. A place where you belong.", + "As the pumping flesh courses against you, gliding and throbbing against your touch, letting you sink in far beyond where it seems reasonable for tension to have caught you, you notice that whatever appendage has sunk that deep begins to feel a bit tingly, a bit starry, like it's become a twinkling starlight. It's weird, but not exactly uncomfortable. There's a sense of otherness that brushes comfortably somewhere against the back of your mind, that gets stronger the deeper you sink...", + "The rippling touch of %pred's wrinkled flesh folding in against you is hard to escape. No matter where you turn, it's all closing in on you, pressing to you. Practically molten, the pressure of it all molds to you and leaves no part of your figure untouched, and yet, even as it forms skin tight in against you, it doesn't stop there. You seem to still sink further into the squish, the surface of it all flows over your figure and submerges you deeper, and deeper… and deeper, until there's nothing but the heat and the throb of %pred's heart all around you.", + "The pressure is intense. The throbbing of %pred's heart in your ears is impossible to ignore as the weight of your predator shifts when they move. You might notice that, as you sink deeper into the pressure of %pred, you're more conscious of those shifts and wobbles, as if they were your own, and the appreciative flickerings of consciousness that seems to have claimed you. You can feel each shift and jiggle of the fluffy critter's movements as you're absorbed...") B.emote_lists[DM_HEAL] = list( - "The walls glide over you tenderly, gently. Lightly kneading and massaging against your figure, smooth and pillowy soft. You can sink in a ways, but it’s not hard to extract yourself from these caressing touches. The burbling of %pred’s %belly fills your ears as you’re rocked and cradled within.", - "As you soak within %pred’s %belly you can feel some of your strength returning, aches and pains easing some as time goes on. The walls knead over you gently, but are never rough. They’re soft and smushy, like a jiggly padding, protecting you from the outside world.", - "The throb of %pred’s heart rocks through the surfaces of the %belly. Even as you’re sunk into a bit of a crater in the flesh there, you can feel it pulse through the squish. The sound of %pred’s heart is a constant companion, along with the wet squelches and slurps of flesh shifting against itself and you.", - "The slow sway of %pred’s body as it moves rocks you back and forth across the %belly. With how soft and gentle it is in there, it’s not unlike relaxing in a large, dark fleshy hammock. Of course, there’s not really any airflow or even all that much space, what with the walls pressed in close and gently churning and kneading against you, so it’s not anything like a hammock, really… but you might be able to imagine it was if you put your mind to it. Either way, the gentle sway is soothing and comfortable despite how un-hammock-like this hammock is...", - "The smooth press of flesh throbs against you as %pred’s %belly kneads and smooshes over you soothingly. The pressure shifts here and there as the muscles beyond grind over you carefully. Despite the heat and the thick, stifling air, you feel slowly more refreshed as you’re held in here. It’s comfy enough to nap in.", - "As you’re held within the %belly you feel your eyelids get a bit heavy… the rhythmic thumping of %pred’s heart nearby, along with the gentle rocking shifts make snoozing an easy option, especially considering how SQUOOSHY and comfortable the stretchy flesh holding you is. It kneads and caresses you soothingly, and you might find that now and then your blinks seem to last several minutes as you’re kept close amid that comfortable %belly.", + "The walls glide over you tenderly, gently. Lightly kneading and massaging against your figure, smooth and pillowy soft. You can sink in a ways, but it's not hard to extract yourself from these caressing touches. The burbling of %pred's %belly fills your ears as you're rocked and cradled within.", + "As you soak within %pred's %belly you can feel some of your strength returning, aches and pains easing some as time goes on. The walls knead over you gently, but are never rough. They're soft and smushy, like a jiggly padding, protecting you from the outside world.", + "The throb of %pred's heart rocks through the surfaces of the %belly. Even as you're sunk into a bit of a crater in the flesh there, you can feel it pulse through the squish. The sound of %pred's heart is a constant companion, along with the wet squelches and slurps of flesh shifting against itself and you.", + "The slow sway of %pred's body as it moves rocks you back and forth across the %belly. With how soft and gentle it is in there, it's not unlike relaxing in a large, dark fleshy hammock. Of course, there's not really any airflow or even all that much space, what with the walls pressed in close and gently churning and kneading against you, so it's not anything like a hammock, really… but you might be able to imagine it was if you put your mind to it. Either way, the gentle sway is soothing and comfortable despite how un-hammock-like this hammock is...", + "The smooth press of flesh throbs against you as %pred's %belly kneads and smooshes over you soothingly. The pressure shifts here and there as the muscles beyond grind over you carefully. Despite the heat and the thick, stifling air, you feel slowly more refreshed as you're held in here. It's comfy enough to nap in.", + "As you're held within the %belly you feel your eyelids get a bit heavy… the rhythmic thumping of %pred's heart nearby, along with the gentle rocking shifts make snoozing an easy option, especially considering how SQUOOSHY and comfortable the stretchy flesh holding you is. It kneads and caresses you soothingly, and you might find that now and then your blinks seem to last several minutes as you're kept close amid that comfortable %belly.", "The walls of the %belly press in close around you for a few moments, squeezing you heavily and kneading across you. You can feel your back and joints pop here and there in just the right way, there is a moment of a kind of ache, and then a deep, delightful relief, as the walls ease up and resume their gentle smooshes.", - "With each step %pred takes, those soft, smooth wall jiggle lightly around you, quaking and swaying you this way and that. The slimy surfaces of %pred’s interior glide over your body casually, shifting and burbling here and there, holding you nice and secure.", + "With each step %pred takes, those soft, smooth wall jiggle lightly around you, quaking and swaying you this way and that. The slimy surfaces of %pred's interior glide over your body casually, shifting and burbling here and there, holding you nice and secure.", "The pressure around you increases a little bit each time you hear the whooooosh of %pred taking a breath in. Expanding lungs compact things inside a little bit, making your stay just that little bit more snug. The pressure is never not gentle though. Those smooth, slick walls were also always pressing and kneading against you too, so it might not be the easiest thing to notice.", - "The thumping, squeezing, kneading rhythm of %pred’s body was easy to get into. A gentle rocking here, a little bob there, a pulsing throb across the whole %belly as you’re churned and felt over. It’s easy to get lost in the grumbly gurgly rhythm of that body, hidden away in the pitch black. As it all works around you, you can feel your energy build, your muscles relax, and any aches and pains you might have would fade with time. It’s comfortable, and fills you with an alien sense of belonging.") + "The thumping, squeezing, kneading rhythm of %pred's body was easy to get into. A gentle rocking here, a little bob there, a pulsing throb across the whole %belly as you're churned and felt over. It's easy to get lost in the grumbly gurgly rhythm of that body, hidden away in the pitch black. As it all works around you, you can feel your energy build, your muscles relax, and any aches and pains you might have would fade with time. It's comfortable, and fills you with an alien sense of belonging.") B.struggle_messages_inside = list( - "As you squirm and fuss, your limbs sink into the squish a fair way! Sliding over the slick, sloppy surfaces of %pred’s %belly. The walls clamp in and churn over you heavily in response.", - "As you squirm, %pred’s %belly wobbles and smothers over you. Wrinkled walls fold against your features. The humid air hangs around you oppressively as the walls roll over you, making it hard to move.", - "You can feel the pressure of the flesh kneading you clamp down and fold over you insistently as you squirm and push at %pred’s flesh. It’s so slippery and hard to get any proper grip or footing!", - "When you shift your weight and press into the flesh of %pred’s %belly, you can feel things around you clamp down, and in a rush, what little air there is inside of there rushes out passed you. %pred emits a low, rumbling urp somewhere far above.", + "As you squirm and fuss, your limbs sink into the squish a fair way! Sliding over the slick, sloppy surfaces of %pred's %belly. The walls clamp in and churn over you heavily in response.", + "As you squirm, %pred's %belly wobbles and smothers over you. Wrinkled walls fold against your features. The humid air hangs around you oppressively as the walls roll over you, making it hard to move.", + "You can feel the pressure of the flesh kneading you clamp down and fold over you insistently as you squirm and push at %pred's flesh. It's so slippery and hard to get any proper grip or footing!", + "When you shift your weight and press into the flesh of %pred's %belly, you can feel things around you clamp down, and in a rush, what little air there is inside of there rushes out passed you. %pred emits a low, rumbling urp somewhere far above.", "Your struggles slide over the doughy flesh. The tension of it catches you and forms to your presses, before it all flexes inward again and tries to fold you into a smaller shape again.", "When you push and squirm against the walls of the %belly, you can hear and feel %pred give a little happy grumble, and you can feel them shift their weight, tossing you from one end of the %belly to the other, sloppy squelching sounding out as you land.", - "Your hands slip and slide against the pulsing wrinkled squish of %pred’s %belly, sinking into the doughy texture of the smooth walls and makes it hard to go anywhere except to the lowest, deepest section of the %belly.", + "Your hands slip and slide against the pulsing wrinkled squish of %pred's %belly, sinking into the doughy texture of the smooth walls and makes it hard to go anywhere except to the lowest, deepest section of the %belly.", "The sound of your squirms is loud in your ears. The squelchy gurgly sound of sloppy wet flesh shifting in the pitch black, as your struggles force the tight space wider as you try to wriggle free.", "When you move the %belly gurgles insistently around you. The bubbling fluids within there cling to you as you push and squirm against those wrinkly walls.", - "Your struggles are stifled by the clinging press of heavy flesh greedily pressing in on you heavily. It’s tiring to fight against those groaning guts...") + "Your struggles are stifled by the clinging press of heavy flesh greedily pressing in on you heavily. It's tiring to fight against those groaning guts...") B.struggle_messages_outside = list( - "Vague shapes shift under %pred’s hide...", + "Vague shapes shift under %pred's hide...", "Something solid squirms within %pred...", - "%pred emits a low ‘uurp’ as something shifts within.", + "%pred emits a low 'uurp' as something shifts within.", "Something bumps and thumps against the inside of %pred.", "Something glorps inside of %pred.", - "%pred’s gut grumbles around something solid...", - "%pred’s belly rumbles and sways as something moves inside.", + "%pred's gut grumbles around something solid...", + "%pred's belly rumbles and sways as something moves inside.", "Something sloshes inside of %pred.", - "%pred’s belly burbles noisily.", - "%pred’s belly shifts noticeably.") + "%pred's belly burbles noisily.", + "%pred's belly shifts noticeably.") B.examine_messages = list( "There is a noticable swell on their belly.", "Their belly seems to hang a bit low.", "There seems to be a solid shape distending their belly.") B.digest_messages_prey = list( "With a low grumble your body melts and falls apart within %pred. The nutrition you provide would go on to power your predator as they go on with their life. You were nutritious food, but, nothing but alien food in the end.", - "No matter your squirms and fusses you can feel those walls collapse in on you, smothering over you as the tingling fluids rise and bubble against you. Churning hard as your body is actively softened up and melted away! Your senses fading out as you’re reduced to nothing but a hot, gooey slush, a form much better suited to continuing on as food for a hungry body.", - "As your body weakens and your wiggles ebb down, the pressure of those churning walls builds, further overpowering and working to melt you that much more. The thick syrupy slime soaks into you and softens you up, not unlike ice cream on a hot summer day, and you’re soaked up just as easily.", - "%pred’s %belly gushes and schlorps around you as you are broken down and absorbed. The rippling walls churn and roll the slowly thinning contents of their sloshing depths, as more and more of you is claimed completely by %pred.", - "The gurgling sounds of your body melting slowly overtakes all the other sounds. The walls closing in and squeezing over you so heavily! Nothing you could do could help you now as you’re churned and mushed, left to steadily soften and break up into a nutritious slush. ", + "No matter your squirms and fusses you can feel those walls collapse in on you, smothering over you as the tingling fluids rise and bubble against you. Churning hard as your body is actively softened up and melted away! Your senses fading out as you're reduced to nothing but a hot, gooey slush, a form much better suited to continuing on as food for a hungry body.", + "As your body weakens and your wiggles ebb down, the pressure of those churning walls builds, further overpowering and working to melt you that much more. The thick syrupy slime soaks into you and softens you up, not unlike ice cream on a hot summer day, and you're soaked up just as easily.", + "%pred's %belly gushes and schlorps around you as you are broken down and absorbed. The rippling walls churn and roll the slowly thinning contents of their sloshing depths, as more and more of you is claimed completely by %pred.", + "The gurgling sounds of your body melting slowly overtakes all the other sounds. The walls closing in and squeezing over you so heavily! Nothing you could do could help you now as you're churned and mushed, left to steadily soften and break up into a nutritious slush. ", "Your body softens and glorps around within the guts of %pred. The rolling rumbles and sloshes overcome you as your senses fade, and your form fades away, bubbling away to become nothing more than a part of %pred.", - "Things clamp down over you as %pred flexxes, smothering over you for a few long moments. Your senses fade away before they ease up though. Your body rapidly melted down and made to slosh through the deeper tubes, helpless but to fade away as you’re absorbed as the food you are.", - "The tide of syrupy fluids rises higher and higher, flooding over you, leaving nothing to breathe. Your senses fade away as the sloppy roiling mess softens you up and passes you along for further processing, fit only to serve to plump up %pred’s figure.", - "Over the course of several hours in the burbling organic cauldron, your body softens up little by little, soaking up the slime, the tingling spreading over you more and more as your strength fades. The walls fold over you and wrap you up, until the last thing you can sense is the throb of %pred’s heart pulsing through the very core of your being, washing you away as you become food for %pred.", - "Your final moments are spent trying to make just a little space for yourself, the doughy squish of the flesh forming to you, pressing in tighter and tighter, invading your personal space as if to show you that, you don’t have any personal space. You’re already a part of %pred, you just don’t know it yet. And so those walls come in close to press up against you and churn you away into a messy slop, to put you in your place. That being, padding the belly and hips of %pred, right where you belong.") + "Things clamp down over you as %pred flexxes, smothering over you for a few long moments. Your senses fade away before they ease up though. Your body rapidly melted down and made to slosh through the deeper tubes, helpless but to fade away as you're absorbed as the food you are.", + "The tide of syrupy fluids rises higher and higher, flooding over you, leaving nothing to breathe. Your senses fade away as the sloppy roiling mess softens you up and passes you along for further processing, fit only to serve to plump up %pred's figure.", + "Over the course of several hours in the burbling organic cauldron, your body softens up little by little, soaking up the slime, the tingling spreading over you more and more as your strength fades. The walls fold over you and wrap you up, until the last thing you can sense is the throb of %pred's heart pulsing through the very core of your being, washing you away as you become food for %pred.", + "Your final moments are spent trying to make just a little space for yourself, the doughy squish of the flesh forming to you, pressing in tighter and tighter, invading your personal space as if to show you that, you don't have any personal space. You're already a part of %pred, you just don't know it yet. And so those walls come in close to press up against you and churn you away into a messy slop, to put you in your place. That being, padding the belly and hips of %pred, right where you belong.") // The friend zone. var/obj/belly/p = new /obj/belly(src) @@ -300,7 +296,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? //Of course it doesn't translate perfectly, and it's nonsense when squashed together, but //I don't care that much, I just figured that the weird alien animals that store friends in //their tummy should have a funny name for the organ they do that with. >:I - p.desc = "You seem to have found your way into something of a specialized chamber within the Teppi. The walls are slick and smooth and REALLY soft to the touch. While you can hear the Teppi’s heartbeat nearby, and feel it throb throughout its flesh, the motions around you are gentle and careful. You’re pressed into a small shape within the pleasant heat, with the flesh forming to your figure. You can wriggle around a bit and get comfortable here, but as soon as you get still for a bit the smooth, almost silky flesh seems to form to you once again, like a heavy blanket wrapping you up. As you lounge here the pleasant kneading sensations ease aches and pains, and leave you feeling fresher than before. For a curious fleshy sac inside of some alien monster, this place isn’t all that bad!" + p.desc = "You seem to have found your way into something of a specialized chamber within the Teppi. The walls are slick and smooth and REALLY soft to the touch. While you can hear the Teppi's heartbeat nearby, and feel it throb throughout its flesh, the motions around you are gentle and careful. You're pressed into a small shape within the pleasant heat, with the flesh forming to your figure. You can wriggle around a bit and get comfortable here, but as soon as you get still for a bit the smooth, almost silky flesh seems to form to you once again, like a heavy blanket wrapping you up. As you lounge here the pleasant kneading sensations ease aches and pains, and leave you feeling fresher than before. For a curious fleshy sac inside of some alien monster, this place isn't all that bad!" p.contaminates = 1 p.contamination_flavor = "Wet" p.contamination_color = "grey" @@ -795,8 +791,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? /mob/living/simple_mob/vore/alienanimals/teppi/animal_nom(mob/living/T in living_mobs(1)) if(vore_active && !voremob_loaded) - voremob_loaded = TRUE - init_vore() + init_vore(TRUE) if(client) return ..() var/current_affinity = affinity[T.real_name] @@ -917,7 +912,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? say_list_type = /datum/say_list/teppibaby -/mob/living/simple_mob/vore/alienanimals/teppi/baby/init_vore() //shouldn't need all the vore bidness if they aren't using it as babbies. They get their tummies when they grow up. +/mob/living/simple_mob/vore/alienanimals/teppi/baby/init_vore(force) //shouldn't need all the vore bidness if they aren't using it as babbies. They get their tummies when they grow up. return /mob/living/simple_mob/vore/alienanimals/teppi/proc/store_teppi_data(mob/living/simple_mob/vore/alienanimals/teppi/teppi) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm index 093eced1e4..0e9b89e779 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm @@ -1,8 +1,4 @@ -/mob/living/simple_mob/animal/passive/cat/runtime/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/animal/passive/cat/runtime/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "Stomach" 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 97ac2d1b02..2bbbb0ef5c 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 @@ -50,11 +50,7 @@ wander = TRUE base_wander_delay = 4 -/mob/living/simple_mob/animal/passive/fox/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/animal/passive/fox/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "Stomach" @@ -200,11 +196,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/passive makes_dirt = FALSE // No more dirt -/mob/living/simple_mob/animal/passive/fox/renault/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/animal/passive/fox/renault/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "Stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm index 23f71de5bf..55e610e490 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm @@ -88,11 +88,7 @@ var/instinct // The points used by Kururaks to decide Who Is The Boss var/obey_pack_rule = TRUE // Decides if the Kururak will automatically assign itself to follow the one with the highest instinct. -/mob/living/simple_mob/animal/sif/kururak/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/animal/sif/kururak/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm index 19b13e86f4..e8abc88d9d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm @@ -229,11 +229,7 @@ knockdown_chance = 50 ai_holder_type = /datum/ai_holder/simple_mob/vore -/mob/living/simple_mob/animal/space/carp/large/huge/vorny/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/animal/space/carp/large/huge/vorny/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" 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 7f9421e635..d8c989d2ca 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 @@ -87,11 +87,7 @@ TODO: Make them light up and heat the air when exposed to oxygen. vore_stomach_flavor = "You are squeezed into the tight embrace of the alien creature's warm and cozy insides." vore_icons = SA_ICON_LIVING -/mob/living/simple_mob/animal/passive/gaslamp/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/animal/passive/gaslamp/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "internal chamber" 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 db6d1ebb8b..b0b1810ae2 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 @@ -65,11 +65,7 @@ can_be_drop_prey = FALSE // Adds vore belly -/mob/living/simple_mob/animal/passive/snake/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/animal/passive/snake/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm b/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm index b0ef9ad1e5..727fd5c685 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm @@ -69,11 +69,7 @@ vore_default_contamination_color = "grey" vore_default_item_mode = IM_DIGEST -/mob/living/simple_mob/vore/squirrel/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/squirrel/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm b/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm index c32700026b..1951876b2c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm @@ -43,11 +43,7 @@ vore_default_item_mode = IM_DIGEST vore_standing_too = TRUE -/mob/living/simple_mob/vore/turkeygirl/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/turkeygirl/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/blaidd.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/blaidd.dm index 7902243326..3751639258 100644 --- a/code/modules/mob/living/simple_mob/subtypes/glamour/blaidd.dm +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/blaidd.dm @@ -54,11 +54,7 @@ verbs |= /mob/living/simple_mob/vore/blaidd/proc/blaidd_invis movement_cooldown = -1 -/mob/living/simple_mob/vore/blaidd/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/blaidd/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/ddraig.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/ddraig.dm index ffe8267b67..9782a23099 100644 --- a/code/modules/mob/living/simple_mob/subtypes/glamour/ddraig.dm +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/ddraig.dm @@ -76,11 +76,7 @@ verbs |= /mob/living/proc/glamour_invisibility movement_cooldown = -1 -/mob/living/simple_mob/vore/ddraig/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/ddraig/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/fluffball.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/fluffball.dm index 5acd20a470..a069896ca4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/glamour/fluffball.dm +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/fluffball.dm @@ -41,11 +41,7 @@ vore_pounce_falloff = 0 //Always eat someone at full health vore_standing_too = 1 -/mob/living/simple_mob/vore/fluffball/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/fluffball/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "tail" diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/unicorn.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/unicorn.dm index 5826668a65..ebd1857a07 100644 --- a/code/modules/mob/living/simple_mob/subtypes/glamour/unicorn.dm +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/unicorn.dm @@ -35,11 +35,7 @@ projectile_dispersion = 7 projectile_accuracy = -20 -/mob/living/simple_mob/vore/horse/unicorn/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/horse/unicorn/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm b/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm index abe819f730..7066944a30 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm @@ -42,11 +42,7 @@ emote_hear = list("chirps","pings","clicks") emote_see = list("flaps","grooms itself") -/mob/living/simple_mob/vore/bat/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/bat/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm index 0004f30ea3..8955d7615c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm @@ -504,11 +504,7 @@ I think I covered everything. /// /// My thanks to Raeschen for these descriptions -/mob/living/simple_mob/vore/bigdragon/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/bigdragon/load_default_bellies() var/obj/belly/B = new /obj/belly/dragon/maw(src) B.affects_vore_sprites = FALSE B.emote_lists[DM_HOLD] = list( @@ -562,7 +558,6 @@ I think I covered everything. "A soft swaying, like the waves of an ocean, squish you to one side, and then to the other. The dragon's gentle movements seem to sway you side to side, as if in a tight possessive hammock on it's underside.", "Nearby, a louder cacophany of gushing glrrrbles, deep dull squelches, and even deeper glrrns call out. This safe pocket of flesh seems to be up close and intimate with the dragon's normal, larger stomach, thus you rest safely spectating the sounds it makes.", "The rushing breathing of the beast continues at a slow pace, indicating the calm it has. Holding you like this seems quite enjoyable to them, the chamber's folds just as calm and lazy in their motions of squelching the slimy contents all over your form.") - .=..() //Making unique belly subtypes for cleanliness and my sanity /obj/belly/dragon 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 4fd9a53034..3d8b540962 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 @@ -125,11 +125,7 @@ /mob/living/simple_mob/vore/aggressive/corrupthound/space/Process_Spacemove(var/check_drift = 0) return TRUE -/mob/living/simple_mob/vore/aggressive/corrupthound/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/aggressive/corrupthound/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "fuel processor" @@ -151,11 +147,7 @@ "The longer you spend stewing away in the pool of hot, clingy juices surrounding you, the weaker and weaker you seem to feel!", "'FU3L mE A1RE@Dy, S0 sO SORrY!?', your corrupted captor growls as its synthetic innards begin oozing more potent juices, grinding down into your body with increasing fervor!") -/mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "fuel processor" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm b/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm index cba90855ac..7a06a53442 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm @@ -68,11 +68,7 @@ add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = -1 -/mob/living/simple_mob/vore/cryptdrake/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/cryptdrake/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" 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 89e94e9eee..0fadb11416 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm @@ -81,11 +81,7 @@ /mob/living/simple_mob/vore/aggressive/deathclaw/MouseDrop_T(mob/living/M, mob/living/user) return -/mob/living/simple_mob/vore/aggressive/deathclaw/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/aggressive/deathclaw/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon.dm index 33f6d19d03..9d381f5767 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon.dm @@ -44,11 +44,7 @@ var/last_shift = 0 var/is_shifting = FALSE -/mob/living/simple_mob/vore/demon/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/demon/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "Stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/devil.dm b/code/modules/mob/living/simple_mob/subtypes/vore/devil.dm index ab9b10440f..a7bbed5344 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/devil.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/devil.dm @@ -42,11 +42,7 @@ vore_pounce_maxhealth = 1000 vore_bump_emote = "pounces on" -/mob/living/simple_mob/vore/devil/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/devil/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" 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 b937056ab7..3e288a03e9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm @@ -132,11 +132,7 @@ . = ..() add_overlay(bigshadow) -/mob/living/simple_mob/vore/fennec/huge/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/fennec/huge/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "Stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm b/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm index d510d8c5c9..03b8d88864 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm @@ -117,11 +117,7 @@ return . = ..() -/mob/living/simple_mob/vore/greatwolf/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/greatwolf/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" 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 0ec7313dfc..c69daceaf1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm @@ -79,11 +79,7 @@ /mob/living/simple_mob/vore/horse/MouseDrop_T(mob/living/M, mob/living/user) return -/mob/living/simple_mob/vore/horse/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/horse/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" @@ -140,11 +136,7 @@ vore_pounce_maxhealth = 200 vore_bump_emote = "chomps down on" -/mob/living/simple_mob/vore/horse/kelpie/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/horse/kelpie/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" 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 020b306318..e920a18977 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/jelly.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/jelly.dm @@ -53,11 +53,7 @@ /datum/ai_holder/simple_mob/retaliate/jelly speak_chance = 2 -/mob/living/simple_mob/vore/jelly/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/jelly/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm b/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm index caeebf9c17..cbc25f705f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm @@ -76,11 +76,7 @@ else if(((stat == UNCONSCIOUS) || resting || incapacitated(INCAPACITATION_DISABLED) ) && icon_rest) icon_state = "[icon_rest]_vore_[upper_shows]_[tail_shows]" -/mob/living/simple_mob/vore/lamia/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/lamia/load_default_bellies() . = ..() var/obj/belly/B = vore_selected diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm b/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm index f59f715cde..3f261924ad 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm @@ -74,11 +74,7 @@ . = ..() src.adjust_nutrition(src.max_nutrition) -/mob/living/simple_mob/vore/leopardmander/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/leopardmander/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" @@ -147,11 +143,7 @@ . = ..() add_verb(src, /mob/living/simple_mob/vore/leopardmander/exotic/proc/toggle_glow) -/mob/living/simple_mob/vore/leopardmander/exotic/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/leopardmander/exotic/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/macrophage.dm b/code/modules/mob/living/simple_mob/subtypes/vore/macrophage.dm index 83874f109c..2fca03f641 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/macrophage.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/macrophage.dm @@ -156,14 +156,9 @@ digest_mode = DM_ABSORB affects_vore_sprites = FALSE -/mob/living/simple_mob/vore/aggressive/macrophage/init_vore() - - if(!voremob_loaded || LAZYLEN(vore_organs)) - return TRUE - +/mob/living/simple_mob/vore/aggressive/macrophage/load_default_bellies() var/obj/belly/B = new /obj/belly/macrophage(src) vore_selected = B - . = ..() /datum/ai_holder/simple_mob/melee/macrophage var/datum/disease/virus = null diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/meowl.dm b/code/modules/mob/living/simple_mob/subtypes/vore/meowl.dm index bd05f8d6c6..bc261b2e54 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/meowl.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/meowl.dm @@ -38,11 +38,7 @@ vore_pounce_maxhealth = 1000 vore_bump_emote = "pounces on" -/mob/living/simple_mob/vore/meowl/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/meowl/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/oregrub.dm b/code/modules/mob/living/simple_mob/subtypes/vore/oregrub.dm index b367b67061..f6d614bd83 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/oregrub.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/oregrub.dm @@ -163,11 +163,7 @@ to_chat(L, span_warning("You feel fire running through your veins!")) L.reagents.add_reagent(poison_type, poison_per_bite) -/mob/living/simple_mob/vore/oregrub/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/oregrub/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" @@ -196,11 +192,7 @@ "The grub chitters in irritation at your continued solidity, followed by a string of crushingly tight stomach clenches that grind its caustic stomach ooze into your body!", "The deceptively severe heat trapped within the grub works in tandem with its inner muscles and your tingling, prickling stomach juice bath to weaken you!") -/mob/living/simple_mob/vore/oregrub/lava/init_vore() // Should inherit everything from parent, and then change our belly fullscreen color. - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/oregrub/lava/load_default_bellies() // Should inherit everything from parent, and then change our belly fullscreen color. .=..() var/obj/belly/B = vore_selected B.belly_fullscreen_color = "#cf741e" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm b/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm index bd69a97dc6..5a0f318ae9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm @@ -148,11 +148,7 @@ if(ai_holder) ai_holder.remove_target() -/mob/living/simple_mob/vore/pakkun/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/pakkun/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" @@ -276,11 +272,7 @@ petters -= pick(petters) ..() -/mob/living/simple_mob/vore/pakkun/snapdragon/snappy/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/pakkun/snapdragon/snappy/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.digest_mode = DM_HOLD 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 a37c3aab58..e932046af6 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm @@ -65,11 +65,7 @@ /mob/living/simple_mob/vore/aggressive/panther/MouseDrop_T(mob/living/M, mob/living/user) return -/mob/living/simple_mob/vore/aggressive/panther/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/aggressive/panther/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm b/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm index 1eef3c8ac4..12b3a4f910 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm @@ -54,11 +54,7 @@ emote_hear = list("yawns","'s stomach grumbles","shuffles") emote_see = list("exists","just stands there","smiles","looks around") -/mob/living/simple_mob/vore/peasant/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/peasant/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/plants.dm b/code/modules/mob/living/simple_mob/subtypes/vore/plants.dm index 6802412466..4c8682a3b2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/plants.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/plants.dm @@ -38,11 +38,7 @@ vore_bump_emote = "encloses on" var/list/eaten_mobs = list() -/mob/living/simple_mob/vore/mantrap/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/mantrap/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "trap" @@ -131,11 +127,7 @@ projectiletype = /obj/item/projectile/beam/appendage projectilesound = 'sound/effects/slime_squish.ogg' -/mob/living/simple_mob/vore/pitcher/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/pitcher/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/raptor.dm b/code/modules/mob/living/simple_mob/subtypes/vore/raptor.dm index 9f2b45dedd..6a62982976 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/raptor.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/raptor.dm @@ -82,11 +82,7 @@ add_verb(src, /mob/living/proc/toggle_rider_reins) movement_cooldown = -1 -/mob/living/simple_mob/vore/raptor/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/raptor/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" 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 12f1c0c344..66db8a46ec 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm @@ -72,29 +72,25 @@ allow_mind_transfer = TRUE -/mob/living/simple_mob/vore/aggressive/rat/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/aggressive/rat/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "In a cruel game of cat-and-mouse gone horribly wrong, you struggle to breathe clearly as the giant rat holds your head in its jaws, the rest of its bulk pinning you to the ground. Slimy slurps and its own muffled squeaking fill your senses as it simultaneously tosses its head while backing up. Quickly, ravenously consuming you, bit by bit, packing you down its gullet no matter how you struggle. Passing by its excited heartbeat, your thoroughly slickened head pushes out into its awaiting stomach, a dark and humid hammock eager to accept the rest of you. Soon, those too-warm, plush walls clench and squeeze around you with undeniable need! A need for mere filling, or, perhaps, a proper meal?" B.emote_lists[DM_HOLD] = list( - "As time passes, the massive rat’s stomach slowly churns and squeezes down around you, packing you into an easier to carry bundle amidst that oddly soothing massage.", + "As time passes, the massive rat's stomach slowly churns and squeezes down around you, packing you into an easier to carry bundle amidst that oddly soothing massage.", "The giant rat ambles around, its well-fed, underhanging belly doing little to hide that someone is inside it, with every heavy footfall swaying you from one side to the other.", "A soft, growl-like rumble mutedly filters into your heated, humid confines... before a paw squishes into the weighty lump you give the overgrown rat.", - "While somewhat cramped, the giant rat’s innards cling more to you like a hot, heavy blanket than anything else, lazily squeezing and relaxing to a casual, squelch-based rhythm.", + "While somewhat cramped, the giant rat's innards cling more to you like a hot, heavy blanket than anything else, lazily squeezing and relaxing to a casual, squelch-based rhythm.", "For a while, most of your limited free space is squished away as the rat opts to rest atop its stuffed belly, a satisfied squeak drifting in here and there amidst the closer, more intimate massaging.", - "Every breath you take while trapped in the rat’s stomach is a deep one, having to contend with the hot, stuffy atmosphere within it. It only further compounds upon the relaxation creeping into your body, urging you to curl up, to accept this impromptu, greedy sanctuary.") + "Every breath you take while trapped in the rat's stomach is a deep one, having to contend with the hot, stuffy atmosphere within it. It only further compounds upon the relaxation creeping into your body, urging you to curl up, to accept this impromptu, greedy sanctuary.") B.emote_lists[DM_DIGEST] = list( - "With each passing moment, the giant rat’s stomach forcefully churns and clenches down around you, massaging an ever-thicker layer of hot, ache-inducing ooze into your body!", - "The massive rat’s stomach visibly twitches and shivers as it ambles around, every footfall sloshing fresh stomach juices over you as the chamber noisily gurgles away!", + "With each passing moment, the giant rat's stomach forcefully churns and clenches down around you, massaging an ever-thicker layer of hot, ache-inducing ooze into your body!", + "The massive rat's stomach visibly twitches and shivers as it ambles around, every footfall sloshing fresh stomach juices over you as the chamber noisily gurgles away!", "Everything suddenly turns onto its side, the rat sitting back atop its haunches to mash its forepaws into its belly... encouraging that its still-solid meal soften away!", - "The rat’s restless innards show no respect for your personal space, clinging tightly to your figure as that ample, slimy flesh grinds tingling slime into you!", + "The rat's restless innards show no respect for your personal space, clinging tightly to your figure as that ample, slimy flesh grinds tingling slime into you!", "Your wiggle room disappears for a time as the giant rat flumps belly-first to the ground, vigorously squishing you under its bulk in hopes of weakening its meal more efficiently!", "Every shallow breath taken is more unpleasant than the last, the lack of fresh air leaving you increasingly lightheaded. It only worsens the drained feeling permeating you, encouraging your worn, sore figure to give in entirely!") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm b/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm index 37f1aff3ef..624cf2a554 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm @@ -94,11 +94,7 @@ add_verb(src, /mob/living/proc/target_lunge) movement_cooldown = -1 -/mob/living/simple_mob/vore/scel/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/scel/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/scrubble.dm b/code/modules/mob/living/simple_mob/subtypes/vore/scrubble.dm index bd27289b08..4781af84f2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/scrubble.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/scrubble.dm @@ -40,11 +40,7 @@ vore_pounce_falloff = 0 //Always eat someone at full health vore_standing_too = 1 -/mob/living/simple_mob/vore/scrubble/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/scrubble/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" 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 28ed6bc691..29fa42e05b 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 @@ -43,7 +43,7 @@ attacktext = list("mauled","slashed","clawed") friendly = list("boops", "pawbs", "mars softly at", "sniffs on") - vore_active = TRUE + vore_active = FALSE vore_pounce_chance = 10 vore_icons = SA_ICON_LIVING swallowTime = 2 SECONDS @@ -134,12 +134,7 @@ QDEL_LIST_NULL(shadekin_abilities) . = ..() -/mob/living/simple_mob/shadekin/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return - +/mob/living/simple_mob/shadekin/load_default_bellies() var/obj/belly/B = new /obj/belly(src) vore_selected = B B.immutable = 1 @@ -191,7 +186,6 @@ "The stinging and aching gives way to numbness as you're slowly smothered out. Your body is steadily reduced to nutrients and energy for the creature to continue on its way.", "The chaos of being digested fades as you're snuffed out by a harsh clench! You're steadily broken down into a thick paste, processed and absorbed by the predator!" ) - . = ..() /mob/living/simple_mob/shadekin/Life() . = ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm index 2e0eeb99d8..2bf05a7579 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm @@ -27,8 +27,7 @@ if you strip it off unsuspecting prey. You're stronger than other shadekin, faster, and more capable in \ a brawl, but you barely generate any of your own energy. You can stand in a dark spot to gather scraps \ of energy in a pinch, but otherwise need to take it, by force if necessary." - -/mob/living/simple_mob/shadekin/red + vore_active = TRUE ai_holder_type = /datum/ai_holder/simple_mob/melee /mob/living/simple_mob/shadekin/red/white @@ -77,6 +76,7 @@ it from others. Most of the time, anyway. You don't have a need to steal energy from others, and gather it up \ without doing so, albeit slowly. Dark and light are irrelevant to you, they are just different places to explore and \ discover new things and new people." + vore_active = TRUE /mob/living/simple_mob/shadekin/blue/ ai_holder_type = /datum/ai_holder/simple_mob/passive @@ -122,6 +122,7 @@ steal it from others when it suits you. You generate energy at a moderate pace in dark areas, and staying in well-lit \ areas is taxing on your energy. You can harvest energy from others in a fight, but since you don't need to, you may \ just choose to simply not fight." + vore_active = TRUE /mob/living/simple_mob/shadekin/purple ai_holder_type = /datum/ai_holder/simple_mob/retaliate @@ -168,6 +169,7 @@ shadekin, but your fast energy generation in the dark allows you to phase shift more often." nom_mob = TRUE + vore_active = TRUE /mob/living/simple_mob/shadekin/yellow ai_holder_type = /datum/ai_holder/simple_mob/melee/hit_and_run @@ -222,6 +224,7 @@ player_msg = "Your kind rarely ventures into realspace. Being in any well-lit area is very taxing on you, but you \ have more experience than your yellow-eyed cousins. You gain energy decently fast in any very dark area. You're weaker than other \ shadekin, but your slight energy generation constnatly, and especially in the dark allows for a good mix of uses." + vore_active = TRUE /mob/living/simple_mob/shadekin/green ai_holder_type = /datum/ai_holder/simple_mob/passive @@ -262,6 +265,7 @@ player_msg = "You usually hunt for energy to fuel yourself, though not as often as your red-eyed cousins. \ You're stronger than most shadekin, faster, and more capable in a brawl, but you don't generate much of your own energy. \ You can stand in a dark spot to gather some energy, but otherwise need to take it, by force if necessary." + vore_active = TRUE /mob/living/simple_mob/shadekin/orange ai_holder_type = /datum/ai_holder/simple_mob/melee diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm b/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm index 490f555fa9..d2a64583ca 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm @@ -55,11 +55,7 @@ /mob/living/simple_mob/vore/sheep/MouseDrop_T(mob/living/M, mob/living/user) return -/mob/living/simple_mob/vore/sheep/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/sheep/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" 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 9ec393ee0c..69fa5acae6 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm @@ -63,11 +63,7 @@ vore_icons = SA_ICON_LIVING swallowTime = 2 SECONDS // Hungry little bastards. -/mob/living/simple_mob/vore/aggressive/giant_snake/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/aggressive/giant_snake/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm b/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm index 73aa3de9f6..c2d3827c72 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm @@ -94,11 +94,7 @@ vore_default_item_mode = IM_DIGEST -/mob/living/simple_mob/vore/woof/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/woof/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm index f64959a97b..a0f5bf2a0b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm @@ -171,11 +171,7 @@ List of things solar grubs should be able to do: else if(is_dead()) glow_override = FALSE -/mob/living/simple_mob/vore/solargrub/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/solargrub/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/sonadile.dm b/code/modules/mob/living/simple_mob/subtypes/vore/sonadile.dm index b282e85135..db2a7dfb78 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/sonadile.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/sonadile.dm @@ -43,11 +43,7 @@ vore_pounce_maxhealth = 1000 vore_bump_emote = "pounces on" -/mob/living/simple_mob/vore/sonadile/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/sonadile/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/stalker.dm b/code/modules/mob/living/simple_mob/subtypes/vore/stalker.dm index 8589368c20..229e0815dd 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/stalker.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/stalker.dm @@ -43,11 +43,7 @@ vore_pounce_maxhealth = 1000 vore_bump_emote = "pounces on" -/mob/living/simple_mob/vore/stalker/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/stalker/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm b/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm index 118725afaf..ea377c560a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm @@ -72,11 +72,7 @@ GLOBAL_LIST_INIT(succubus_safewords, list( emote_hear = list("makes a kissing sound","giggles","lets out a needy whine") emote_see = list("gestures for you to come over","winks","smiles","stretches") -/mob/living/simple_mob/vore/succubus/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/succubus/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm b/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm index c622aa68e4..301f7c653c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm @@ -54,11 +54,7 @@ emote_hear = list("laughs maniacally","croans","hisses") emote_see = list("wafts about","licks their lips","flaps a bit") -/mob/living/simple_mob/vore/vampire/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/vampire/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/vore_hostile.dm b/code/modules/mob/living/simple_mob/subtypes/vore/vore_hostile.dm index 45487a947e..16198770eb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/vore_hostile.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/vore_hostile.dm @@ -70,11 +70,7 @@ vore_standing_too = TRUE unacidable = TRUE -/mob/living/simple_mob/vore/vore_hostile/abyss_lurker/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/vore_hostile/abyss_lurker/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "interior" @@ -192,11 +188,7 @@ var/leap_warmup = 1 SECOND // How long the leap telegraphing is. var/leap_sound = 'sound/weapons/spiderlunge.ogg' -/mob/living/simple_mob/vore/vore_hostile/leaper/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/vore_hostile/leaper/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" @@ -312,11 +304,7 @@ vore_standing_too = TRUE unacidable = TRUE -/mob/living/simple_mob/vore/vore_hostile/gelatinous_cube/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/vore_hostile/gelatinous_cube/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "interior" 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 0fcba1ed2a..8542544090 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm @@ -34,22 +34,16 @@ catalogue_data = list(/datum/category_item/catalogue/fauna/wolf) allow_mind_transfer = TRUE + vore_active = TRUE + vore_capacity = 1 + vore_icons = SA_ICON_LIVING can_be_drop_prey = FALSE species_sounds = "Canine" pain_emote_1p = list("yelp", "whine", "bark", "growl") pain_emote_3p = list("yelps", "whines", "barks", "growls") -// Activate Noms! -/mob/living/simple_mob/vore/wolf - vore_active = 1 - vore_icons = SA_ICON_LIVING - -/mob/living/simple_mob/animal/wolf/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/animal/vore/wolf/load_default_bellies() . = ..() var/obj/belly/B = vore_selected diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm b/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm index 295dfe677b..de9bfdf6dc 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm @@ -68,11 +68,7 @@ base_wander_delay = 8 belly_attack = FALSE -/mob/living/simple_mob/vore/wolftaur/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/vore/wolftaur/load_default_bellies() . = ..() var/obj/belly/B = vore_selected B.name = "stomach" 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 2e381f8e04..f53b45d48c 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 @@ -221,11 +221,7 @@ vore_absorb_chance = 0 // Override stuff for holodeck carp to make them not digest when set to safe! -/mob/living/simple_mob/animal/space/carp/holographic/init_vore() - if(!voremob_loaded) - return - if(LAZYLEN(vore_organs)) - return +/mob/living/simple_mob/animal/space/carp/holographic/load_default_bellies() . = ..() var/safe = (faction == FACTION_NEUTRAL) for(var/obj/belly/B as anything in vore_organs) diff --git a/code/modules/vore/eating/belly_obj_liquids.dm b/code/modules/vore/eating/belly_obj_liquids.dm index 8e09d3ac09..f7f2a36e1b 100644 --- a/code/modules/vore/eating/belly_obj_liquids.dm +++ b/code/modules/vore/eating/belly_obj_liquids.dm @@ -214,54 +214,59 @@ // Returns a string which shoul be appended to the Examine output. // Yes I know it doesnt look great with 5 almost identical procs in a row, I didnt have a better idea at the time - Jack /obj/belly/proc/get_reagent_examine_msg1() - if(fullness1_messages.len) - var/formatted_message - var/raw_message = pick(fullness1_messages) + if(!fullness1_messages.len) + return "" + var/formatted_message + var/raw_message = pick(fullness1_messages) - formatted_message = replacetext(raw_message,"%belly",lowertext(name)) - formatted_message = replacetext(formatted_message,"%pred",owner) + formatted_message = replacetext(raw_message,"%belly",lowertext(name)) + formatted_message = replacetext(formatted_message,"%pred",owner) - return(span_red("[formatted_message]
")) + return(span_red("[formatted_message]
")) /obj/belly/proc/get_reagent_examine_msg2() - if(fullness1_messages.len) - var/formatted_message - var/raw_message = pick(fullness2_messages) + if(!fullness1_messages.len) + return "" + var/formatted_message + var/raw_message = pick(fullness2_messages) - formatted_message = replacetext(raw_message,"%belly",lowertext(name)) - formatted_message = replacetext(formatted_message,"%pred",owner) + formatted_message = replacetext(raw_message,"%belly",lowertext(name)) + formatted_message = replacetext(formatted_message,"%pred",owner) - return(span_red("[formatted_message]
")) + return(span_red("[formatted_message]
")) /obj/belly/proc/get_reagent_examine_msg3() - if(fullness1_messages.len) - var/formatted_message - var/raw_message = pick(fullness3_messages) + if(!fullness1_messages.len) + return "" + var/formatted_message + var/raw_message = pick(fullness3_messages) - formatted_message = replacetext(raw_message,"%belly",lowertext(name)) - formatted_message = replacetext(formatted_message,"%pred",owner) + formatted_message = replacetext(raw_message,"%belly",lowertext(name)) + formatted_message = replacetext(formatted_message,"%pred",owner) - return(span_red("[formatted_message]
")) + return(span_red("[formatted_message]
")) /obj/belly/proc/get_reagent_examine_msg4() - if(fullness1_messages.len) - var/formatted_message - var/raw_message = pick(fullness4_messages) + if(!fullness1_messages.len) + return "" + var/formatted_message + var/raw_message = pick(fullness4_messages) - formatted_message = replacetext(raw_message,"%belly",lowertext(name)) - formatted_message = replacetext(formatted_message,"%pred",owner) + formatted_message = replacetext(raw_message,"%belly",lowertext(name)) + formatted_message = replacetext(formatted_message,"%pred",owner) - return(span_red("[formatted_message]
")) + return(span_red("[formatted_message]
")) /obj/belly/proc/get_reagent_examine_msg5() - if(fullness1_messages.len) - var/formatted_message - var/raw_message = pick(fullness5_messages) + if(!fullness1_messages.len) + return "" + var/formatted_message + var/raw_message = pick(fullness5_messages) - formatted_message = replacetext(raw_message,"%belly",lowertext(name)) - formatted_message = replacetext(formatted_message,"%pred",owner) + formatted_message = replacetext(raw_message,"%belly",lowertext(name)) + formatted_message = replacetext(formatted_message,"%pred",owner) - return(span_red("[formatted_message]
")) + return(span_red("[formatted_message]
")) /////////////////////////// Process Cycle Lite /////////////////////////// CHOMP PCL /obj/belly/proc/quick_cycle() //For manual belly cycling without straining the bellies subsystem. diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index b98c839666..a044ba4273 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -39,7 +39,7 @@ /mob/living/proc/handle_special_unlocks() return -/mob/proc/init_vore() +/mob/proc/init_vore(force = FALSE) //Something else made organs, meanwhile. if(!isnewplayer(src)) AddElement(/datum/element/slosh) @@ -74,7 +74,7 @@ soulgem = new(src) return TRUE -/mob/living/init_vore() +/mob/living/init_vore(force) if(no_vore) return FALSE return ..() @@ -1404,18 +1404,25 @@ for (var/belly in vore_organs) var/obj/belly/B = belly - var/fill_percentage = B.reagents.maximum_volume > 0 ? B.reagents.total_volume / B.reagents.maximum_volume : 0 + var/fill_percentage = round((B.custom_max_volume > 0 ? B.reagents.total_volume / B.custom_max_volume : 0) * 100) - if(0 <= fill_percentage && fill_percentage <= 0.2 && B.show_fullness_messages) - message += B.get_reagent_examine_msg1() - if(0.2 < fill_percentage && fill_percentage <= 0.4 && B.show_fullness_messages) - message += B.get_reagent_examine_msg2() - if(0.4 < fill_percentage && fill_percentage <= 0.6 && B.show_fullness_messages) - message += B.get_reagent_examine_msg3() - if(0.6 < fill_percentage && fill_percentage <= 0.8 && B.show_fullness_messages) - message += B.get_reagent_examine_msg4() - if(0.8 < fill_percentage && fill_percentage <= 1 && B.show_fullness_messages) - message += B.get_reagent_examine_msg5() + if(B.show_fullness_messages) + switch(fill_percentage) + if(0 to 20) + if(B.liquid_fullness1_messages) + message += B.get_reagent_examine_msg1() + if(20 to 40) + if(B.liquid_fullness2_messages) + message += B.get_reagent_examine_msg2() + if(40 to 60) + if(B.liquid_fullness3_messages) + message += B.get_reagent_examine_msg3() + if(60 to 80) + if(B.liquid_fullness4_messages) + message += B.get_reagent_examine_msg4() + if(80 to 100) + if(B.liquid_fullness5_messages) + message += B.get_reagent_examine_msg5() return message diff --git a/code/modules/vore/eating/simple_animal_vr.dm b/code/modules/vore/eating/simple_animal_vr.dm index a72d0f6595..578401ffdb 100644 --- a/code/modules/vore/eating/simple_animal_vr.dm +++ b/code/modules/vore/eating/simple_animal_vr.dm @@ -5,8 +5,7 @@ /mob/living/simple_mob/insidePanel() //On-demand belly loading. if(vore_active && !voremob_loaded) - voremob_loaded = TRUE - init_vore() + init_vore(TRUE) ..() // @@ -18,8 +17,7 @@ set desc = "Since you can't grab, you get a verb!" if(vore_active && !voremob_loaded) // On-demand belly loading. - voremob_loaded = TRUE - init_vore() + init_vore(TRUE) if(stat != CONSCIOUS) return @@ -35,8 +33,7 @@ /mob/living/simple_mob/perform_the_nom(mob/living/user, mob/living/prey, mob/living/pred, obj/belly/belly, delay_time) if(vore_active && !voremob_loaded && pred == src) //Only init your own bellies. - voremob_loaded = TRUE - init_vore() + init_vore(TRUE) belly = vore_selected return ..() diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm index c4d414d2a1..38dfa3dab0 100644 --- a/code/modules/vore/eating/vore_vr.dm +++ b/code/modules/vore/eating/vore_vr.dm @@ -140,8 +140,7 @@ if(isanimal(O)) //On-demand belly loading. var/mob/living/simple_mob/SM = O if(SM.vore_active && !SM.voremob_loaded) - SM.voremob_loaded = TRUE - SM.init_vore() + SM.init_vore(TRUE) if(O.vore_organs.len > 0) return TRUE diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 705365061b..fa69f91405 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -19,7 +19,7 @@ return if(!isliving(src)) - init_vore() + init_vore(TRUE) if(!vorePanel) if(!isnewplayer(src)) diff --git a/code/modules/vore/mob_tf.dm b/code/modules/vore/mob_tf.dm index f5a127d312..82522f4ef8 100644 --- a/code/modules/vore/mob_tf.dm +++ b/code/modules/vore/mob_tf.dm @@ -9,8 +9,7 @@ if(istype(src, /mob/living/simple_mob)) var/mob/living/simple_mob/S = src if(!S.voremob_loaded) - S.voremob_loaded = TRUE - S.init_vore() + S.init_vore(TRUE) new /obj/effect/effect/teleport_greyscale(M.loc) for(var/obj/belly/B as anything in src.vore_organs) src.vore_organs -= B @@ -192,8 +191,7 @@ if(istype(new_mob, /mob/living/simple_mob)) var/mob/living/simple_mob/S = new_mob if(!S.voremob_loaded) - S.voremob_loaded = TRUE - S.init_vore() + S.init_vore(TRUE) new /obj/effect/effect/teleport_greyscale(src.loc) if(!new_mob.ckey) for(var/obj/belly/B as anything in new_mob.vore_organs) diff --git a/tgui/packages/tgui/interfaces/GhostSpawn/functions.ts b/tgui/packages/tgui/interfaces/GhostSpawn/functions.ts index 58621aab29..32e7af0144 100644 --- a/tgui/packages/tgui/interfaces/GhostSpawn/functions.ts +++ b/tgui/packages/tgui/interfaces/GhostSpawn/functions.ts @@ -23,9 +23,7 @@ export function describeMouseData( } if (data.respawn_time) { returnData.text = - 'You must wait ' + - data.respawn_time + - ' before being able to respawn again.'; + 'You must wait ' + data.respawn_time + ' before being able to respawn.'; returnData.state = false; return returnData; } @@ -64,9 +62,7 @@ export function describeDroneData( } if (data.respawn_time) { returnData.text = - 'You must wait ' + - data.respawn_time + - ' before being able to respawn again.'; + 'You must wait ' + data.respawn_time + ' before being able to respawn.'; returnData.state = false; return returnData; } @@ -99,7 +95,7 @@ export function describeSpecialData( return returnData; } if (respawn) { - returnData.text = `You must wait ${respawn} before being able to respawn again.`; + returnData.text = `You must wait ${respawn} before being able to respawn.`; returnData.state = false; return returnData; }