From c481f415fa5371a58c6f8547d67e3a2fd0fb206d Mon Sep 17 00:00:00 2001
From: Reo Lozzot <84661000+ReoDaProtovali@users.noreply.github.com>
Date: Mon, 1 Apr 2024 02:44:34 -0500
Subject: [PATCH] Online schizophrenia: The 1 throwforcening (#7941)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
---
code/modules/mob/dead/corpse.dm | 4 +
.../subtypes/vore/leopardmander_ch.dm | 69 ++++++-
code/modules/recycling/disposal.dm | 24 ++-
code/modules/recycling/sortingmachinery.dm | 16 ++
code/modules/vore/eating/digest_act_vr.dm | 7 +
.../game/objects/items/devices/vacpack.dm | 17 +-
.../subtypes/vore/corrupt_hounds.dm | 12 ++
.../simple_mob/subtypes/vore/swoopie.dm | 172 ++++++++++++++++--
.../icons/mob/vore_fullscreens/a_tumby.dmi | Bin 13496 -> 30057 bytes
.../mob/vore_fullscreens/another_tumby.dmi | Bin 17477 -> 42143 bytes
.../icons/mob/vore_fullscreens/da_tumby.dmi | Bin 43068 -> 83997 bytes
.../vore_fullscreens/yet_another_tumby.dmi | Bin 0 -> 160898 bytes
vorestation.dme | 1 +
13 files changed, 289 insertions(+), 33 deletions(-)
create mode 100644 modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm
create mode 100644 modular_chomp/icons/mob/vore_fullscreens/yet_another_tumby.dmi
diff --git a/code/modules/mob/dead/corpse.dm b/code/modules/mob/dead/corpse.dm
index 823b43e865..f6e06cd47d 100644
--- a/code/modules/mob/dead/corpse.dm
+++ b/code/modules/mob/dead/corpse.dm
@@ -107,6 +107,10 @@
M.update_wing_showing()
M.real_name = generateCorpseName()
M.set_stat(DEAD) //Kills the new mob
+ //CHOMPAdd: Corpses drop bones when melted and are easier to eat
+ M.digest_leave_remains = TRUE
+ M.can_be_drop_prey = TRUE
+ //CHOMPAdd End
if(corpsesynthtype > 0)
if(!corpsesynthbrand)
corpsesynthbrand = "Unbranded"
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander_ch.dm b/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander_ch.dm
index f834c2214c..e628e7dba8 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander_ch.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander_ch.dm
@@ -37,8 +37,8 @@
buckle_lying = FALSE
vore_icons = SA_ICON_LIVING
vore_bump_chance = 50
- vore_digest_chance = 0
- vore_escape_chance = 50
+ //vore_digest_chance = 0 // Im setting these two in the individual bellies, I dont know how they interact with multiple
+ //vore_escape_chance = 50 // bellies so im just commenting them out. -Reo
vore_pounce_chance = 100
vore_active = 1
vore_icons = 5
@@ -87,12 +87,14 @@
if(!voremob_loaded)
return
.=..()
- var/obj/belly/B = vore_selected
+ var/obj/belly/B = new /obj/belly(src)
+ B.affects_vore_sprites = TRUE
+ B.belly_sprite_to_affect = "stomach"
B.name = "stomach"
B.desc = "The leopardmander tosses its head back with you firmly clasped in its jaws, and in a few swift moments it finishes swallowing you down into its hot, dark gut. Your weight makes absolutely no impact on its form, the doughy walls giving way beneath you with unnatural softness. The thick, humid air is tinged with an oddly pleasant smell, and the surrounding flesh wastes no time in clenching and massaging down over its newfound fodder, smothering you in thick hot gutflesh~"
B.vore_sound = "Tauric Swallow"
B.release_sound = "Pred Escape"
- B.mode_flags = DM_FLAG_NUMBING
+ B.mode_flags = DM_FLAG_NUMBING | DM_FLAG_THICKBELLY | DM_FLAG_TURBOMODE
B.fancy_vore = 1
B.vore_verb = "slurp"
B.contamination_color = "grey"
@@ -115,6 +117,30 @@
"The constant, rhythmic kneading and massaging starts to take its toll along with the muggy heat, making you feel weaker and weaker!",
"The drake happily wanders around while digesting its meal, almost like it is trying to show off the hanging gut you've given it. Not like it made much of a difference on his already borderline obese form anyway~")
+ B = new /obj/belly(src)
+
+ vore_selected = B
+ B.name = "maw"
+ B.desc = "Slrrrrrp... You get snatched up by the Exotic Leopardmander's large tongue, resulting in you getting dragged into the humid, dank interior of the large drake's cavernous mouth!"
+ //Not going to change the default sounds. Personally I think the non-fancy sounds work good as enterance nom sounds and the fancy ones are better for transfer sounds. -Reo
+ B.digest_mode = DM_HEAL
+ B.vore_verb = "slurp"
+ B.release_verb = "plehs"
+ B.contaminates = FALSE
+ B.belly_fullscreen_color = "#c47cb4"
+ B.belly_fullscreen_color2 = "#C2B4B4"
+ B.belly_fullscreen_color3 = "#FFCCFF"
+ B.belly_fullscreen = "VBO_maw5"
+ B.emote_time = 1 //Short emote time, since they wont spend long here!
+ B.emote_lists[DM_HOLD] = list(
+ "The drake's thick tongue presses against your form, smothering you with thick, gooey saliva as it pushes you around in it's maw.",
+ "The exotic drake lets out a deep rumble as it idly maws over you, shifting you in a warm, slimy embrace as it passively prepares to send you into a deeper embrace."
+ )
+ B.autotransferwait = 5
+ B.autotransferlocation = "stomach"
+ B.escapetime = 1 SECONDS
+ B.escapechance = 75
+
/datum/say_list/leopardmander
speak = list("Prurr.", "Rrrhf.", "Rrrrrll.", "Mrrrrph.")
emote_hear = list("chuffs", "murrs", "churls", "hisses", "rrrrrls", "yawns that big ol' maw open.")
@@ -159,18 +185,19 @@
/mob/living/simple_mob/vore/leopardmander/exotic/init_vore()
if(!voremob_loaded)
return
- .=..()
- var/obj/belly/B = vore_selected
+ //.=..() //Dont need this, it just spawns the parent's guts
+ var/obj/belly/B = new /obj/belly(src)
B.name = "stomach"
B.desc = "The exotic leopardmander tosses its head back with you firmly clasped in its jaws, and in a few swift moments it finishes swallowing you down into its hot, brightly glowing gut. Your weight makes absolutely no impact on its form, the doughy walls giving way beneath you, with their unnatural softness. The thick, humid air is tinged with an oddly pleasant smell, and the surrounding flesh wastes no time in clenching and massaging down over its newfound fodder, smothering you in thick hot gutflesh~ You can only really sort of see outside that thick-walled gut."
B.vore_sound = "Tauric Swallow"
B.release_sound = "Pred Escape"
- B.mode_flags = DM_FLAG_NUMBING
+ B.mode_flags = DM_FLAG_NUMBING | DM_FLAG_THICKBELLY | DM_FLAG_TURBOMODE
B.fancy_vore = 1
B.vore_verb = "slurp"
B.contamination_color = "pink"
B.contamination_flavor = "Wet"
- B.belly_fullscreen_color = "#c47cb4" // CHOMPedit - Belly Fullscreen
+ B.belly_fullscreen_color = "#df3dbc" // CHOMPedit - Belly Fullscreen
+ B.belly_fullscreen_alpha = 240 // CHOMPedit - Belly transparency on the transparent bellied drake
B.belly_fullscreen = "anim_belly" // CHOMPedit - Belly Fullscreen
B.emote_lists[DM_HEAL] = list(
"The drake's idle movement helps its stomach gently churn around you, slimily squelching against your figure.",
@@ -187,6 +214,32 @@
"As the thinning air begins to make you feel dizzy, menacing bworps and grumbles fill that dark, constantly shifting organ!",
"The constant, rhythmic kneading and massaging starts to take its toll along with the muggy heat, making you feel weaker and weaker!",
"The drake happily wanders around while digesting its meal, almost like it is trying to show off the hanging gut you've given it. Not like it made much of a difference on his already borderline obese form anyway~")
+ B.transferchance = 50
+ B.transferlocation = "maw"
+
+ B = new /obj/belly(src)
+ vore_selected = B
+
+ B.name = "maw"
+ B.desc = "Slrrrrrp... You get snatched up by the Exotic Leopardmander's large tongue, resulting in you getting dragged into the humid, dank interior of the large drake's cavernous mouth!"
+ //Not going to change the default sounds. Personally I think the non-fancy sounds work good as enterance nom sounds and the fancy ones are better for transfer sounds. -Reo
+ B.vore_verb = "slurp"
+ B.release_verb = "plehs"
+ B.contaminates = FALSE
+ B.belly_fullscreen_color = "#c47cb4"
+ B.belly_fullscreen_color2 = "#C2B4B4"
+ B.belly_fullscreen_color3 = "#8D60CE"
+ B.belly_fullscreen_color4 = "#B593F9"
+ B.belly_fullscreen = "VBO_maw5"
+ B.emote_time = 1 //Short emote time, since they wont spend long here!
+ B.emote_lists[DM_HOLD] = list(
+ "The drake's thick tongue presses against your form, smothering you with thick, gooey saliva as it pushes you around in it's maw.",
+ "The exotic drake lets out a deep rumble as it idly maws over you, shifting you in a warm, slimy embrace as it passively prepares to send you into a deeper embrace."
+ )
+ B.autotransferwait = 5
+ B.autotransferlocation = "stomach"
+ B.escapetime = 1 SECONDS
+ B.escapechance = 75
/obj/random/mob/leopardmander/item_to_spawn() //Random map spawner
return pick(prob(89);/mob/living/simple_mob/vore/leopardmander,
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index 9be0bafe99..2988fa74b7 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -532,14 +532,23 @@
/obj/machinery/disposal/hitby(atom/movable/AM)
. = ..()
- if(istype(AM, /obj/item) && !istype(AM, /obj/item/projectile))
+ //CHOMPEdit: fixes thrown disposal dunking with mobs~ - Reo
+ if((istype(AM, /obj/item) || istype(AM, /mob/living)) && !istype(AM, /obj/item/projectile))
if(prob(75))
- if(istype(AM, /obj/item/weapon/holder/micro))
- log_and_message_admins("[AM] was thrown into \the [src]")
AM.forceMove(src)
- visible_message("\The [AM] lands in \the [src].")
+ if(istype(AM, /obj/item/weapon/holder/micro) || istype(AM, /mob/living))
+ log_and_message_admins("[AM] was thrown into \the [src]")
+ visible_message("\The [AM] lands in \the [src]!")
+ //flush() //Away they go! //Uncomment this for proper autoflush. Compromising with autopull to avoid possible disposal dunking abuse
+ //flush = 1 //1984. No autoflush, no autopull. Leaving this here incase someone wants to revisit this in the future when the mood on this changes
+ else
+ visible_message("\The [AM] lands in \the [src].")
+ update_icon() //Yogs did this, so it probably doesnt hurt..
else
visible_message("\The [AM] bounces off of \the [src]'s rim!")
+ return ..() //...Yogs also did this! it's probably good to stop it from flying after clonking the thing. Also prevents trying to insert the mob repeatedly due to it the throw not ending.
+ return ..()
+ //CHOMPEdit End.
/obj/machinery/disposal/CanPass(atom/movable/mover, turf/target)
if(istype(mover, /obj/item/projectile))
@@ -737,12 +746,15 @@
return
var/mob/living/U = user
-
+ /* CHOMPEdit: Clong, clong baby.
if (U.stat || U.last_special <= world.time)
return
U.last_special = world.time+100
-
+ */
+ if(U.stat)
+ return
+ //CHOMPEdit End.
if (src.loc)
for (var/mob/M in hearers(src.loc.loc))
to_chat(M, "CLONG, clong!")
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index b8b091444e..25b0154603 100755
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -411,6 +411,22 @@
M.loc = src
src.flush()
+//Chompadd: Autocatch for stuff being thrown into disposal chutes..
+/obj/machinery/disposal/deliveryChute/hitby(atom/movable/AM)
+ if((istype(AM, /obj/item) || istype(AM, /mob/living)) && !istype(AM, /obj/item/projectile))
+ switch(dir)
+ if(NORTH)
+ if(AM.loc.y != src.loc.y+1) return ..()
+ if(EAST)
+ if(AM.loc.x != src.loc.x+1) return ..()
+ if(SOUTH)
+ if(AM.loc.y != src.loc.y-1) return ..()
+ if(WEST)
+ if(AM.loc.x != src.loc.x-1) return ..()
+ AM.forceMove(src)
+ src.flush()
+//Chompadd end
+
/obj/machinery/disposal/deliveryChute/flush()
flushing = 1
flick("intake-closing", src)
diff --git a/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act_vr.dm
index 7e549ea638..e6883105a6 100644
--- a/code/modules/vore/eating/digest_act_vr.dm
+++ b/code/modules/vore/eating/digest_act_vr.dm
@@ -140,6 +140,13 @@
reagents.trans_to_holder(H.ingested, (reagents.total_volume), B.nutrition_percent / 100, 0)
else if(isliving(B.owner))
B.owner.nutrition += 15 * w_class * B.nutrition_percent / 100
+ if(istype(src,/obj/item/weapon/reagent_containers/food/snacks))
+ var/obj/item/weapon/reagent_containers/food/snacks/goodmeal = src //What a typecast
+ //Drop the leftover garbage when the food melts
+ if(goodmeal.package_trash)
+ new goodmeal.package_trash(src)
+ if(goodmeal.trash)
+ new goodmeal.trash(src)
if(B.item_digest_logs)
to_chat(B.owner,"[src] was digested inside your [lowertext(B.name)].")
qdel(src)//CHOMPEdit End
diff --git a/modular_chomp/code/game/objects/items/devices/vacpack.dm b/modular_chomp/code/game/objects/items/devices/vacpack.dm
index a7d105c38b..3a78043cb2 100644
--- a/modular_chomp/code/game/objects/items/devices/vacpack.dm
+++ b/modular_chomp/code/game/objects/items/devices/vacpack.dm
@@ -36,9 +36,12 @@
if(vac_owner && user != vac_owner)
to_chat(user, "Only designated owner can change this setting.")
return
- var/set_output = tgui_input_list(user, "Set your vacuum attachment's connection port", "Vac Settings", list("Vore Belly", "Borg Belly", "Trash Bag"))
- if(set_output)
- if(set_output == "Borg Belly")
+ var/vac_options = list("Vore Belly", "Trash Bag") //Dont show option for borg belly if the user isnt even a borg. QOL!
+ if(isrobot(user))
+ vac_options = list("Vore Belly", "Borg Belly", "Trash Bag")
+ var/set_output = tgui_input_list(user, "Set your vacuum attachment's connection port", "Vac Settings", vac_options)
+ switch(set_output)
+ if("Borg Belly")
if(isrobot(user))
var/mob/living/silicon/robot/R = user
var/obj/item/weapon/robot_module/M = R.module
@@ -47,7 +50,7 @@
output_dest = S
return
to_chat(user, "Borg belly not found.")
- if(set_output == "Trash Bag")
+ if("Trash Bag")
if(isrobot(user))
var/mob/living/silicon/robot/R = user
var/obj/item/weapon/robot_module/M = R.module
@@ -60,7 +63,7 @@
output_dest = T
return
to_chat(user, "Trash bag not found.")
- if(set_output == "Vore Belly")
+ if("Vore Belly")
if(user.vore_selected)
output_dest = user.vore_selected
return
@@ -172,6 +175,8 @@
if(is_type_in_list(F,item_vore_blacklist) || F.loc != target)
continue
if(istype(F,/obj/effect/decal/cleanable))
+ if(isbelly(output_dest))
+ user.adjust_nutrition(1)
qdel(F)
continue
if(istype(output_dest,/obj/item/weapon/storage/bag/trash))
@@ -195,6 +200,8 @@
F.forceMove(output_dest)
if(istype(target, /turf/simulated))
var/turf/simulated/T = target
+ if(isbelly(output_dest) && T.dirt > 50)
+ user.adjust_nutrition((T.dirt - 50) / 10) //Max tile dirt is 101. so about 5 nutrition from a disgusting floor, I think that's okay.
T.dirt = 0
T.clean_blood()
return
diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm
new file mode 100644
index 0000000000..96ef5fa934
--- /dev/null
+++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm
@@ -0,0 +1,12 @@
+//Synth emotes for the (broken) synth hounds.
+/mob/living/simple_mob/vore/aggressive/corrupthound/get_available_emotes()
+ . = ..()
+ . += /decl/emote/audible/synth
+ . += /decl/emote/audible/synth/beep
+ . += /decl/emote/audible/synth/buzz
+ . += /decl/emote/audible/synth/confirm
+ . += /decl/emote/audible/synth/deny
+ . += /decl/emote/audible/synth/scary
+ . += /decl/emote/audible/synth/dwoop
+ . += /decl/emote/audible/synth/boop
+ . += /decl/emote/audible/synth/robochirp
diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/swoopie.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/swoopie.dm
index c7c18a24cd..13b33d4bd1 100644
--- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/swoopie.dm
+++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/swoopie.dm
@@ -11,16 +11,17 @@
away even the most fiesty of pests once they make it past the synthbird's beak, and staring into that beak would allow \
one to see far down into the drone, though the frequent curving of the SWOOPIE's neck often makes seeing down \
the entire length next to impossible even with a cooperative unit, let alone the passive suction that threatens to \
- make anything that gets too close vanish into the drone's dangerous depths. SWOOPIE XLs are equipped with powerful \
- CHURNO-VAC digestive chambers that are able to effectively melt down most anything that gets claimed by their vac-beaks, \
- indescriminately melting anything that happens to end up in that chamber, it would be a terrible idea to allow yourself \
- get swooped by one of these drones, unless you want to add to their biofuel reserves."
+ make anything that gets too close to the bot's beak vanish down the drone's stretchy hose throat. \
+ SWOOPIE XLs are equipped with powerful CHURNO-VAC digestive chambers that are able to effectively melt down most \
+ anything that gets claimed by their vac-beaks, indescriminately melting anything that happens to end up in that chamber, \
+ it would be a terrible idea to allow yourself get swooped by one of these drones, unless you want to add to their biofuel reserves."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/vore/aggressive/corrupthound/swoopie
name = "SWOOPIE XL"
desc = "A large birdlike robot with thick assets, plump belly, and a long elastic vacuum hose of a neck. Somehow still a cleanbot, even if just for its duties."
description_info = "Use DISARM intent to access the integrated Vac-Pack settings.
Use GRAB intent while targeting the head damage zone to grab the SWOOPIE XL's neck and use it as a vaccum."
+ catalogue_data = list(/datum/category_item/catalogue/technology/drone/corrupt_hound/swoopie)
icon_state = "swoopie"
icon_living = "swoopie"
icon_dead = "swoopie_dead"
@@ -40,32 +41,49 @@
adminbus_trash = TRUE //You know what, sure whatever. It's not like anyone's gonna be taking this bird on unga trips to be their gamer backpack, which kinda was the main reason for the trash eater restrictions in the first place anyway.
faction = "neutral"
say_list_type = /datum/say_list/swoopie
- ai_holder_type = /datum/ai_holder/simple_mob/retaliate
+ ai_holder_type = /datum/ai_holder/simple_mob/retaliate/swoopie
mob_bump_flag = 0
- player_msg = "You are a SWOOPIE XL cleaning bot! Use DISARM intent to change your integrated Vac-Pack settings, or GRAB intent to swoop stuff up! Turning off the Vac-Pack will make your grab clicks function as normal grab intent clicks."
+ player_msg = "You are a SWOOPIE XL cleaning bot! Use DISARM intent on yourself to change your integrated Vac-Pack settings, or GRAB intent to swoop stuff up! Turning off the Vac-Pack will make your grab clicks function as normal grab intent clicks."
var/static/list/crew_creatures = list( /mob/living/simple_mob/protean_blob,
/mob/living/simple_mob/slime/promethean)
- var/obj/item/device/vac_attachment/Vac
+ var/static/list/pest_creatures = list( /mob/living/simple_mob/animal/passive/mouse,
+ /mob/living/simple_mob/animal/passive/lizard,
+ /mob/living/simple_mob/animal/passive/cockroach)
+ var/obj/item/device/vac_attachment/swoopie/Vac
/mob/living/simple_mob/vore/aggressive/corrupthound/swoopie/Initialize()
. = ..()
if(!voremob_loaded)
voremob_loaded = TRUE
init_vore()
- Vac = new /obj/item/device/vac_attachment(src)
+ Vac = new /obj/item/device/vac_attachment/swoopie(src)
if(istype(Vac))
Vac.output_dest = vore_selected
Vac.vac_power = 3
- Vac.item_state = null
Vac.vac_owner = src
- Vac.icon = 'modular_chomp/icons/mob/vacpack_swoop.dmi'
/mob/living/simple_mob/vore/aggressive/corrupthound/swoopie/IIsAlly(mob/living/L)
. = ..()
+ if(L?.type in pest_creatures) // If they're a pest, swoop no matter what!
+ return FALSE
if(!.) // Outside the faction and not in friends, are they crew
return L?.type in crew_creatures
+/mob/living/simple_mob/vore/aggressive/corrupthound/swoopie/attack_target(atom/A)
+ if(!has_AI())
+ return ..()
+ if(istype(A, /mob/living)) //Swoopie gonn swoop
+ var/mob/living/M = A //typecast
+ if(!M.devourable || !M.can_be_drop_prey)
+ return ..()
+ Vac.afterattack(M, src, 1)
+ return
+ if(istype(A, /obj/item))
+ Vac.afterattack(A, src, 1)
+ return
+ . = ..() //if not vaccable, just do what it normally does
+
/mob/living/simple_mob/vore/aggressive/corrupthound/swoopie/init_vore()
if(!voremob_loaded)
return
@@ -74,7 +92,7 @@
add_verb(src,/mob/living/proc/eat_trash) //CHOMPEdit TGPanel
add_verb(src,/mob/living/proc/toggle_trash_catching) //CHOMPEdit TGPanel
add_verb(src,/mob/living/proc/restrict_trasheater) //CHOMPEdit TGPanel
- var/obj/belly/B = new /obj/belly/(src)
+ var/obj/belly/B = new /obj/belly(src)
B.affects_vore_sprites = TRUE
B.belly_sprite_to_affect = "stomach"
B.name = "Churno-Vac"
@@ -82,7 +100,8 @@
B.digest_messages_prey = list("Under the heat and internal pressure of the greedy machine's gutworks, you can feel the tides of the hot caustic sludge claiming the last bits of space around your body, a few more squeezes of the synthetic muscles squelching and glurking as your body finally loses its form, completely blending down and merging into the tingly sludge to fuel the mean machine.")
B.digest_mode = DM_DIGEST
B.item_digest_mode = IM_DIGEST
- B.mode_flags = DM_FLAG_TURBOMODE | DM_FLAG_THICKBELLY //Hard to be heard from inside the swoop! Also very active belly.
+ B.recycling = TRUE
+ B.mode_flags = DM_FLAG_THICKBELLY //Hard to be heard from inside the swoop!
B.digest_burn = 3
B.fancy_vore = 1
B.vore_sound = "Stomach Move"
@@ -216,14 +235,34 @@
return ..()
if(stat) //Cant suck if we're not able to...
return ..()
+ if(istype(A, /obj/item/weapon/storage)) //Dont put the nossle in bags
+ return ..()
if(istype(Vac) && A.Adjacent(src))
face_atom(A)
if(src.a_intent == I_DISARM && A == src) //Only if on disarm intent.
Vac.attack_self(src)
return
- if(istype(A, /obj/machinery/disposal)) //Dont put the nossle in the trash
- return
if(src.a_intent == I_GRAB && Vac.vac_power != 0) //Only on grab intent. if someone needs to use grab intent they can just turn off the vac
+ if(istype(A, /obj/machinery/disposal)) //You used that bin when the bird was right there? How inconsiderate!
+ var/obj/machinery/disposal/D
+ if(D.flushing)
+ to_chat(src, "\The [D] has already began flushing, you're too late to grab whatever was inside!")
+ return
+ var/foundstuff = 0 //Check if we actually found anything in the bin...
+ for(var/atom/movable/AM in D)
+ if(istype(AM, /mob/living))
+ var/mob/living/M = AM
+ if(!M.devourable || !M.can_be_drop_prey)
+ to_chat(M, "[src] plunges their head into \the [D], while you narrowly avoid being sucked up!")
+ continue
+ to_chat(M, "[src] plunges their head into \the [D], sucking up everything inside- Including you!")
+ foundstuff = 1
+ AM.forceMove(src)
+ if(foundstuff)
+ src.visible_message("[src] plunges their head into \the [D], greedily sucking up everything inside!")
+ else //Oh, Nothing was inside...
+ to_chat(src, "You poke your head into \the [D], but there doesnt seem to be anything of interest...")
+ return
var/resolved = Vac.resolve_attackby(A, src, click_parameters = params)
if(!resolved && A && Vac)
Vac.afterattack(A, src, 1, params)
@@ -257,3 +296,108 @@
if(!L || L == usr)
return
L.put_in_active_hand(Vac)
+
+/mob/living/simple_mob/vore/aggressive/corrupthound/swoopie/verb/change_settings()
+ set name = "Change Settings"
+ set desc = "Change \the [src]'s settings"
+ set category = "IC"
+ set src in oview(1)
+ if(!has_AI() || !IIsAlly(usr))
+ to_chat(usr, "")
+ if(!ai_holder == /datum/ai_holder/simple_mob/retaliate/swoopie || !ai_holder)
+ to_chat(usr, "This [src] doesnt seem to have changable settings!")
+ return
+ var/datum/ai_holder/simple_mob/retaliate/swoopie/ai = ai_holder
+ var/list/swooping_options = list(
+ "Swoop Pests",
+ "Swoop Trash",
+ )
+
+ var/setting_selection = tgui_input_list(usr, "Toggle Swoopie Swooping Options", "Swoopie Options", swooping_options)
+
+ switch(setting_selection)
+ if("Swoop Pests")
+ ai.swoop_pests = !ai.swoop_pests // invert the option
+ to_chat(usr, "You press a button on \the [src], [ai.swoop_pests ? "" : "de"]activating it's pest seeking routines!")
+ if("Swoop Trash")
+ ai.swoop_trash = !ai.swoop_trash // invert the option
+ to_chat(usr, "you press a button on \the [src], [ai.swoop_trash ? "" : "de"]activating it's pest seeking routines!")
+
+
+/mob/living/simple_mob/vore/aggressive/corrupthound/swoopie/Login()
+ . = ..()
+ verbs -= /mob/living/simple_mob/vore/aggressive/corrupthound/swoopie/verb/change_settings //Controlled swoopies dont need their settings changed externally
+
+//Special Swoopie vaccum so it can be handled better than a vareditted vacpack.
+/obj/item/device/vac_attachment/swoopie
+ name = "Swoopie Vac-Beak"
+ desc = "Useful for slurping mess off the floors. Even dirt and pests depending on settings. This vaccum seems to be permanantly attached to the swoopie's rumbling rubber trashbag."
+ icon = 'modular_chomp/icons/mob/vacpack_swoop.dmi'
+ item_state = null
+
+/obj/item/device/vac_attachment/swoopie/dropped(mob/user) //This should fix it sitting on the ground until the next life() tick
+ . = ..()
+ if(!vac_owner)
+ return
+ forceMove(vac_owner)
+
+//Custom Swoopie AI to make it swoop up trash when asked to
+/datum/ai_holder/simple_mob/retaliate/swoopie //TODO: make a general item-seeking AI type and use it for other stuff (Teppi seeking food automatically?)
+ hostile = TRUE // Hostile, but it wont actually attack stuff unless it's allowed to. Maybe also in retaliation.
+ var/swoop_pests = FALSE // Do we go after living pests?
+ var/swoop_trash = FALSE // Do we go after trash and junk?
+ var/original_power = 0 // What the swoopie's last vaccum strength was before we went to go vaccum stuff up actively.
+ cooperative = FALSE // Swoop works independantly
+ mauling = TRUE // Swoop doesnt care how hurt you are. If it's trying to attack you, it's just trying to eat you
+ handle_corpse = TRUE // See above.
+
+/datum/ai_holder/simple_mob/retaliate/swoopie/list_targets() //Kinda stolen from nurse spiders. Mostly stolen.
+ . = ..()
+
+ var/static/alternative_targets = typecacheof(list(/obj/item/trash))
+
+ for(var/obj/O as anything in typecache_filter_list(range(vision_range, holder), alternative_targets))
+ if(can_see(holder, O, vision_range) && !O.anchored)
+ . += O
+
+// Select an obj if no mobs are around.
+/datum/ai_holder/simple_mob/retaliate/swoopie/pick_target(list/targets)
+ var/mobs_only = locate(/mob/living) in targets // If a mob is in the list of targets, then ignore objects.
+ if(mobs_only)
+ for(var/A in targets)
+ if(!isliving(A))
+ targets -= A
+
+ return ..(targets)
+
+/datum/ai_holder/simple_mob/retaliate/swoopie/find_target(var/list/possible_targets, var/has_targets_list = FALSE)
+ ai_log("find_target() : Entered.", AI_LOG_TRACE)
+ if(!hostile) // So retaliating mobs only attack the thing that hit it.
+ return null
+ . = list()
+ if(!has_targets_list)
+ possible_targets = list_targets()
+ for(var/possible_target in possible_targets)
+ if(can_attack(possible_target)) // Can we attack it?
+ if(isliving(possible_target) && !swoop_pests) // Are we allowed to attack living things?
+ continue
+ if(!isliving(possible_target) && !swoop_trash) // Otherwise, are we allowed to swoop trash?
+ continue
+ . += possible_target
+
+ var/new_target = pick_target(.)
+ give_target(new_target)
+ return new_target
+
+/datum/ai_holder/simple_mob/retaliate/swoopie/give_target(new_target, urgent = FALSE)
+ . = ..()
+ if(istype(holder, /mob/living/simple_mob/vore/aggressive/corrupthound/swoopie))
+ var/mob/living/simple_mob/vore/aggressive/corrupthound/swoopie/bird = holder //Typecast
+ original_power = bird.Vac.vac_power
+ bird.Vac.vac_power = 7
+
+/datum/ai_holder/simple_mob/retaliate/swoopie/remove_target()
+ . = ..()
+ if(istype(holder, /mob/living/simple_mob/vore/aggressive/corrupthound/swoopie))
+ var/mob/living/simple_mob/vore/aggressive/corrupthound/swoopie/bird = holder //Typecast
+ bird.Vac.vac_power = original_power
diff --git a/modular_chomp/icons/mob/vore_fullscreens/a_tumby.dmi b/modular_chomp/icons/mob/vore_fullscreens/a_tumby.dmi
index 60f8fde57b3fa296556ffab02c6af35e5946d9b9..676168c4ac1ea3959fedb2493011400f7ebc0554 100644
GIT binary patch
literal 30057
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
literal 13496
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
r9wN&OTa@aTv62~R?B$-_paI}
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