Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vore system [TM only] #18

Closed
wants to merge 130 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
130 commits
Select commit Hold shift + click to select a range
db5fd1f
Add myself to the developer admins.txt
ShadowLarkens Jul 17, 2024
35197e7
Minimum 'working' vore
ShadowLarkens Jul 17, 2024
4809cf2
Make the new 515 ref[appearance] work and match Virgo's panel buttons
ShadowLarkens Jul 17, 2024
d412a22
Make component pred-agnostic and add feed self to other button
ShadowLarkens Jul 18, 2024
0e3bc8c
Set up global vore prefs
ShadowLarkens Jul 19, 2024
c108b00
Major milestone: Belly (de)serialization into json savefile
ShadowLarkens Jul 19, 2024
3f70ede
Add move-index and delete operations for bellies
ShadowLarkens Jul 19, 2024
e7a0bb0
Add log_game for potential pref breaks
ShadowLarkens Jul 19, 2024
2e361e8
Move entry message to belly/Entered
ShadowLarkens Jul 19, 2024
0e8ca0e
Add resisting out of tummies
ShadowLarkens Jul 19, 2024
20b7c2b
Fix assume_active_consent
ShadowLarkens Jul 19, 2024
ec79d93
Make digest modes work, extra buttons clicking on a prey
ShadowLarkens Jul 20, 2024
a0c0bcd
Switch to single 'vore mode' click action, enable feeder vore
ShadowLarkens Jul 20, 2024
950174f
Use an immutable gas mixture for bellies that is always safe
ShadowLarkens Jul 20, 2024
84b2b2a
Add comments and add blacklisted atoms that get ejected
ShadowLarkens Jul 20, 2024
4d79c97
Add BUBBER EDIT comments, fix little hud bug with dropping blackliste…
ShadowLarkens Jul 20, 2024
dd91497
Inside Panel
ShadowLarkens Jul 20, 2024
711fc23
Move vore action button to the small buttons grid, combine panel into it
ShadowLarkens Jul 21, 2024
d104daa
Add vore sound files and definitions, but no way to play them
ShadowLarkens Jul 21, 2024
2d10442
Add noise preferences
ShadowLarkens Jul 21, 2024
cf073b2
Add rolling user-accessible backups for vore bellies
ShadowLarkens Jul 21, 2024
85cb9cd
Get insertion and ejection sounds working
ShadowLarkens Jul 21, 2024
098ed6a
Add test sound button
ShadowLarkens Jul 21, 2024
e67697b
Save digest_mode
ShadowLarkens Jul 21, 2024
9570bc3
Add prey loop
ShadowLarkens Jul 21, 2024
9ce76d0
Allow 'interacting' with others in belly - fix visible_message for prey
ShadowLarkens Jul 22, 2024
0e179ef
Detect if overwriting prefs via real_name
ShadowLarkens Jul 22, 2024
3da42bc
Checkpoint before renovating vore prefs off the component
ShadowLarkens Jul 23, 2024
8e4a94d
Fully implement client vore prefs and belly slots
ShadowLarkens Jul 23, 2024
c0a032b
Add belly radio muffling (no UI entry yet)
ShadowLarkens Jul 23, 2024
aebe142
Use TRAIT_SOFTSPOKEN to prey (non-toggleable)
ShadowLarkens Jul 23, 2024
85a515d
Add vore escape to Remove Lewd Items and add "OOC Safe Word" alias to…
ShadowLarkens Jul 23, 2024
92eed9d
Implement disabling suit sensors when prey enters a tummy (not breaking)
ShadowLarkens Jul 23, 2024
01d7813
Add toggles for muffles_radio, is_wet, and wet_loop
ShadowLarkens Jul 24, 2024
c8fd9cd
Add character slot to belly layout lookup table
ShadowLarkens Jul 24, 2024
f512f2b
Add importing and exporting, and rate limit belly creation
ShadowLarkens Jul 25, 2024
369bec7
Prevent corpse vore
ShadowLarkens Jul 25, 2024
0193a6f
Digestion noises and fixes
ShadowLarkens Jul 25, 2024
ff34bef
Add digestion death message
ShadowLarkens Jul 25, 2024
8fa36b9
Little UI tweaks, partially support VRDB
ShadowLarkens Jul 25, 2024
e6583e6
Add escape_chance and escapetime, and struggle noises/messages
ShadowLarkens Jul 25, 2024
c81ff9d
Remove burp sound list, its used for an emote
ShadowLarkens Jul 25, 2024
d4579a0
Remove expected_real_name, unused now that we use vore slots
ShadowLarkens Jul 25, 2024
763f2be
Add helping other prey out
ShadowLarkens Jul 25, 2024
e1a1359
Add instant digestion button, make transferring work
ShadowLarkens Jul 25, 2024
9c14995
Main feature completion, adds insert_verb/release_verb
ShadowLarkens Jul 25, 2024
b06000e
A little message to indicate import completion
ShadowLarkens Jul 25, 2024
99aae31
Break up vore panel UI into separate tsx files
ShadowLarkens Jul 25, 2024
8974cee
Fix a few issues identified by friend playtest
ShadowLarkens Jul 26, 2024
8531b05
Make vore panel switch into a limited edits mode when non-owner plays…
ShadowLarkens Jul 26, 2024
856802d
Tweak settings to be usable for a real test
ShadowLarkens Jul 27, 2024
d84cc89
Misc fixes - screen_loc reloading, volume, button maptext
ShadowLarkens Jul 27, 2024
93d3bae
Merge remote-tracking branch 'vore_pull/vore4.0' into vore_test
MosleyTheMalO Jul 27, 2024
41bca43
Add a credit file in vore sound file just to be safe
ShadowLarkens Jul 27, 2024
9ba69dc
Merge remote-tracking branch 'vore_pull/vore4.0' into vore_test
MosleyTheMalO Jul 27, 2024
20fe1a1
Add absorption control component and temporary UI option
ShadowLarkens Jul 28, 2024
aab9b11
[TM Ready] Add absorption mode and preference~ And fix a few bugs.
ShadowLarkens Jul 28, 2024
1c201c8
[TM Ready] Make digestion_death cryo players for safe round removal, …
ShadowLarkens Jul 28, 2024
c690977
[TM Ready] Custom belly messages
ShadowLarkens Jul 28, 2024
7b79b15
[TM Ready] Backseat preds use TRAIT_SOFTSPOKEN instead of say override
ShadowLarkens Jul 29, 2024
909a8e0
Merge branch 'master' into vore_test
MosleyTheMalO Jul 29, 2024
9bdc09c
Merge branch 'master' into vore_test
MosleyTheMalO Jul 29, 2024
240ab4c
Merge remote-tracking branch 'vore_pull/vore4.0' into vore_test
MosleyTheMalO Jul 29, 2024
db44574
[TM Ready] Add fullscreen overlays (and pref)
ShadowLarkens Jul 30, 2024
01332fb
Merge branch 'master' into vore_test
MosleyTheMalO Jul 30, 2024
0849985
Merge remote-tracking branch 'vore_pull/vore4.0' into vore_test
MosleyTheMalO Jul 30, 2024
5797705
Minimum 'working' vore
ShadowLarkens Jul 17, 2024
ecf7215
Make the new 515 ref[appearance] work and match Virgo's panel buttons
ShadowLarkens Jul 17, 2024
db1ef9a
Make component pred-agnostic and add feed self to other button
ShadowLarkens Jul 18, 2024
a25d547
Set up global vore prefs
ShadowLarkens Jul 19, 2024
974cfee
Major milestone: Belly (de)serialization into json savefile
ShadowLarkens Jul 19, 2024
0a22c39
Add move-index and delete operations for bellies
ShadowLarkens Jul 19, 2024
e9ddd66
Add log_game for potential pref breaks
ShadowLarkens Jul 19, 2024
558fe1d
Move entry message to belly/Entered
ShadowLarkens Jul 19, 2024
c1a0a5c
Add resisting out of tummies
ShadowLarkens Jul 19, 2024
a6be2b5
Fix assume_active_consent
ShadowLarkens Jul 19, 2024
206f2c4
Make digest modes work, extra buttons clicking on a prey
ShadowLarkens Jul 20, 2024
14557ff
Switch to single 'vore mode' click action, enable feeder vore
ShadowLarkens Jul 20, 2024
9f1cceb
Use an immutable gas mixture for bellies that is always safe
ShadowLarkens Jul 20, 2024
b41d71b
Add comments and add blacklisted atoms that get ejected
ShadowLarkens Jul 20, 2024
9919a3c
Add BUBBER EDIT comments, fix little hud bug with dropping blackliste…
ShadowLarkens Jul 20, 2024
b70c065
Inside Panel
ShadowLarkens Jul 20, 2024
904c285
Move vore action button to the small buttons grid, combine panel into it
ShadowLarkens Jul 21, 2024
54c1b7b
Add vore sound files and definitions, but no way to play them
ShadowLarkens Jul 21, 2024
1c738dc
Add noise preferences
ShadowLarkens Jul 21, 2024
0109da9
Add rolling user-accessible backups for vore bellies
ShadowLarkens Jul 21, 2024
3cc7778
Get insertion and ejection sounds working
ShadowLarkens Jul 21, 2024
8537229
Add test sound button
ShadowLarkens Jul 21, 2024
8410c56
Save digest_mode
ShadowLarkens Jul 21, 2024
b96086a
Add prey loop
ShadowLarkens Jul 21, 2024
54b41c0
Allow 'interacting' with others in belly - fix visible_message for prey
ShadowLarkens Jul 22, 2024
8088404
Detect if overwriting prefs via real_name
ShadowLarkens Jul 22, 2024
bc2be75
Checkpoint before renovating vore prefs off the component
ShadowLarkens Jul 23, 2024
5db8e51
Fully implement client vore prefs and belly slots
ShadowLarkens Jul 23, 2024
5780d21
Add belly radio muffling (no UI entry yet)
ShadowLarkens Jul 23, 2024
41a4838
Use TRAIT_SOFTSPOKEN to prey (non-toggleable)
ShadowLarkens Jul 23, 2024
cb1595e
Add vore escape to Remove Lewd Items and add "OOC Safe Word" alias to…
ShadowLarkens Jul 23, 2024
80c049e
Implement disabling suit sensors when prey enters a tummy (not breaking)
ShadowLarkens Jul 23, 2024
838e24d
Add toggles for muffles_radio, is_wet, and wet_loop
ShadowLarkens Jul 24, 2024
974b44d
Add character slot to belly layout lookup table
ShadowLarkens Jul 24, 2024
c463c3f
Add importing and exporting, and rate limit belly creation
ShadowLarkens Jul 25, 2024
57461f4
Prevent corpse vore
ShadowLarkens Jul 25, 2024
b70be2c
Digestion noises and fixes
ShadowLarkens Jul 25, 2024
f0e4193
Add digestion death message
ShadowLarkens Jul 25, 2024
61c70b5
Little UI tweaks, partially support VRDB
ShadowLarkens Jul 25, 2024
14d0ad1
Add escape_chance and escapetime, and struggle noises/messages
ShadowLarkens Jul 25, 2024
5815648
Remove burp sound list, its used for an emote
ShadowLarkens Jul 25, 2024
d2cded8
Remove expected_real_name, unused now that we use vore slots
ShadowLarkens Jul 25, 2024
ee4f52a
Add helping other prey out
ShadowLarkens Jul 25, 2024
9dfbce4
Add instant digestion button, make transferring work
ShadowLarkens Jul 25, 2024
29feb24
Main feature completion, adds insert_verb/release_verb
ShadowLarkens Jul 25, 2024
e2cee55
A little message to indicate import completion
ShadowLarkens Jul 25, 2024
7a6666a
Break up vore panel UI into separate tsx files
ShadowLarkens Jul 25, 2024
10e2111
Fix a few issues identified by friend playtest
ShadowLarkens Jul 26, 2024
29a435e
Make vore panel switch into a limited edits mode when non-owner plays…
ShadowLarkens Jul 26, 2024
a0d76dc
Tweak settings to be usable for a real test
ShadowLarkens Jul 27, 2024
fc4cd7a
Misc fixes - screen_loc reloading, volume, button maptext
ShadowLarkens Jul 27, 2024
062b1a0
Add a credit file in vore sound file just to be safe
ShadowLarkens Jul 27, 2024
4727842
Add absorption control component and temporary UI option
ShadowLarkens Jul 28, 2024
0aa065d
[TM Ready] Add absorption mode and preference~ And fix a few bugs.
ShadowLarkens Jul 28, 2024
ddf6d44
[TM Ready] Make digestion_death cryo players for safe round removal, …
ShadowLarkens Jul 28, 2024
bd9cff0
[TM Ready] Custom belly messages
ShadowLarkens Jul 28, 2024
029102e
[TM Ready] Backseat preds use TRAIT_SOFTSPOKEN instead of say override
ShadowLarkens Jul 29, 2024
526f03b
[TM Ready] Add fullscreen overlays (and pref)
ShadowLarkens Jul 30, 2024
6fe35ba
Specify default to be #ffffff for overlay_color in deserialization
ShadowLarkens Jul 30, 2024
f30f4c1
Modularization tweaks
ShadowLarkens Aug 2, 2024
0c4ceb3
Check for buckled before vore, reset perspective on exit
ShadowLarkens Aug 5, 2024
df77b30
Merge branch 'master' into vore_test
MosleyTheMalO Aug 6, 2024
4dcbe9d
Merge remote-tracking branch 'vore_pull/vore4.0' into vore_test
MosleyTheMalO Aug 6, 2024
d54d391
Merge branch 'master' into vore_test
MosleyTheMalO Aug 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion code/__DEFINES/hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@
#define ui_building "EAST-4:22,SOUTH:21"
#define ui_language_menu "EAST-4:6,SOUTH:21"
#define ui_navigate_menu "EAST-4:22,SOUTH:5"
#define ui_floor_menu "EAST-4:14,SOUTH:37"
#define ui_floor_menu "EAST-4:22,SOUTH:37" // BUBBER EDIT: Shift over a bit for the vore button to sit nicely

//Upper left (action buttons)
#define ui_action_palette "WEST+0:23,NORTH-1:5"
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/layers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

//NEVER HAVE ANYTHING BELOW THIS PLANE ADJUST IF YOU NEED MORE SPACE
#define LOWEST_EVER_PLANE -50
#define EMISSIVE_PLANE -46 // BUBBER EDIT: Was 13, caused issues with rendering via \ref[appearance]

// Doesn't really layer, just throwing this in here cause it's the best place imo
#define FIELD_OF_VISION_BLOCKER_PLANE -45
Expand Down Expand Up @@ -45,7 +46,6 @@
#define O_LIGHTING_VISUAL_PLANE 11
#define O_LIGHTING_VISUAL_RENDER_TARGET "O_LIGHT_VISUAL_PLANE"

#define EMISSIVE_PLANE 13
/// This plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.
#define EMISSIVE_RENDER_PLATE 14
#define EMISSIVE_RENDER_TARGET "*EMISSIVE_PLANE"
Expand Down
2 changes: 1 addition & 1 deletion code/_onclick/hud/hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -614,7 +614,7 @@ GLOBAL_LIST_INIT(available_erp_ui_styles, list(
listed_actions.check_against_view()
palette_actions.check_against_view()
for(var/atom/movable/screen/movable/action_button/floating_button as anything in floating_actions)
var/list/current_offsets = screen_loc_to_offset(floating_button.screen_loc)
var/list/current_offsets = screen_loc_to_offset(floating_button.screen_loc, our_view) // BUBBER EDIT: Pass our_view to screen_loc_to_offset
// We set the view arg here, so the output will be properly hemm'd in by our new view
floating_button.screen_loc = offset_to_screen_loc(current_offsets[1], current_offsets[2], view = our_view)

Expand Down
2 changes: 1 addition & 1 deletion code/datums/actions/innate_action.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
unset_ranged_ability(owner, disable_text)
else
set_ranged_ability(owner, enable_text)
build_all_button_icons(UPDATE_BUTTON_STATUS)
build_all_button_icons(UPDATE_BUTTON_BACKGROUND | UPDATE_BUTTON_STATUS) // BUBBER EDIT: This is just an upstream error, it should have BUTTON_BACKGROUND
return TRUE

// We're not a click action (we're a toggle or otherwise)
Expand Down
6 changes: 6 additions & 0 deletions code/game/objects/items/devices/radio/radio.dm
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,12 @@
. = ..()
if(radio_freq || !broadcasting || get_dist(src, speaker) > canhear_range || message_mods[MODE_RELAY])
return
// BUBBER Edit Start - the worst snowflake code for vore
if(istype(speaker.loc, /obj/vore_belly))
var/obj/vore_belly/VB = speaker.loc
if(VB.muffles_radio)
return
// BUBBER Edit End
var/list/filtered_mods = list()

if (message_mods[MODE_SING])
Expand Down
8 changes: 7 additions & 1 deletion code/modules/mob/mob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,13 @@
msg = blind_message
msg_type = MSG_AUDIBLE
else if(T != loc && T != src) //if src is inside something and not a turf.
if(M != loc) // Only give the blind message to hearers that aren't the location
// BUBBER EDIT Start - Prey hear each other in bellies + pred always hears prey
if(istype(loc, /obj/vore_belly))
if(M.loc != loc && M != loc.loc)
msg = blind_message
msg_type = MSG_AUDIBLE
// BUBBER EDIT End
else if(M != loc) // Only give the blind message to hearers that aren't the location
msg = blind_message
msg_type = MSG_AUDIBLE
else if(!HAS_TRAIT(M, TRAIT_HEAR_THROUGH_DARKNESS) && M.lighting_cutoff < LIGHTING_CUTOFF_HIGH && T.is_softly_lit() && !in_range(T,M)) //if it is too dark, unless we're right next to them.
Expand Down
1 change: 1 addition & 0 deletions config/admins.txt
Original file line number Diff line number Diff line change
Expand Up @@ -149,3 +149,4 @@ WaylandSmithy = Game Master
NamelessFairy = Game Master
WalterMeldron = Game Master
san7890 = Game Master
tigercat2000 = Game Master
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,13 @@
/datum/preference/toggle/erp/sex_toy_sounds
savefile_key = "sextoy_sounds_pref"

/* BUBBER REMOVAL START
/datum/preference/toggle/erp/vore_pred
savefile_key = "vore_pred_pref"

/datum/preference/toggle/erp/vore_prey
savefile_key = "vore_prey_pref"
savefile_key = "vore_prey_pref
BUBBER REMOVAL END */

/datum/preference/toggle/erp/bimbofication
savefile_key = "bimbofication_pref"
Expand Down
17 changes: 15 additions & 2 deletions modular_skyrat/modules/modular_items/lewd_items/code/verbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,20 @@
if(CONFIG_GET(flag/disable_lewd_items))
verbs -= /mob/living/carbon/human/verb/safeword

/mob/living/carbon/human/verb/safeword()
/* BUBBER EDIT START: Rename remove_lewd_items to OOC Safe Word */
/mob/living/carbon/human/verb/remove_lewd_items()
set name = "Remove Lewd Items"
set category = "OOC"
set desc = "Removes any and all lewd items from you."
// literally just another way to safeword
safeword()

/mob/living/carbon/human/verb/safeword()
set name = "OOC Safe Word"
set category = "OOC"
set desc = "Removes any and all lewd items from you."

log_message("[key_name(src)] used the Remove Lewd Items verb.", LOG_ATTACK)
log_message("[key_name(src)] used the OOC Safe Word verb.", LOG_ATTACK)
for(var/obj/item/equipped_item in get_equipped_items())
if(!(equipped_item.type in GLOB.pref_checked_clothes))
continue
Expand All @@ -59,7 +67,12 @@
if(leash_check)
qdel(leash_check)

// Vore Edit
if(istype(loc, /obj/vore_belly))
forceMove(get_turf(src))

return TRUE
/* BUBBER EDIT END */

/mob/living/carbon/human/verb/lick(mob/living/carbon/human/target in get_adjacent_humans())
set name = "Lick"
Expand Down
28 changes: 28 additions & 0 deletions modular_zubbers/code/datums/components/vore/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Modular DCS Vore
This is an implementation of vore made entirely using components.

By [Shadow Larkens](https://github.com/ShadowLarkens/)

## Configuration
Most critical options are in [_defines.dm](./_defines.dm) including things such as the max amount of bellies that can
be created, how many prey can be eaten, etc.

## Debugging
If you need to debug this system, go to the top of [_defines.dm](./_defines.dm) and uncomment `#define VORE_TESTING`
to enable helpful debugging features such as not needing clients and working on all living mobs.

## Code Overview
[_defines.dm](./_defines.dm) - Settings and constants.
[absorb_control.dm](./absorb_control.dm) - Component used for prey controlling preds temporarily
[belly.dm](./belly.dm) - Individual areas that have their own name, description and digestion mode.
[belly_messages.dm](./belly_messages.dm) - Contains helpers for all of the many different customizable messages a belly can produce.
[belly_serde.dm](./belly_serd.dm) - Controls belly serialization and deserialization.
[digest_modes.dm](./digest_modes.dm) - Singletons that handle affecting a belly's contents on each process.
[preferences.dm](./preferences.dm) - Vore related preferences
[subsystem.dm](./subsystem.dm) - Belly processing subsystem / global event listener
[ui.dm](./ui.dm) - tgui interface for managing the component
[vore.dm](./vore.dm) - The main component that orchestrates everything else.
[z_undefs.dm](./z_undefs.dm) - undefs to keep defines from escaping.

## Special Notes
- Being absorbed is marked by TRAIT_RESTRAINED and TRAIT_STASIS with a source of TRAIT_SOURCE_VORE.
Loading
Loading