From eed7361d5d3583890cff7424355fd5c7dc5683aa Mon Sep 17 00:00:00 2001 From: Casey Date: Sun, 18 Dec 2022 16:55:23 -0500 Subject: [PATCH 01/26] Merge pull request #14210 from Heroman3003/borg-human-emotes Gives borgs access to human emotes --- code/modules/admin/verbs/smite_vr.dm | 2 +- code/modules/mob/living/silicon/robot/emote.dm | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/verbs/smite_vr.dm b/code/modules/admin/verbs/smite_vr.dm index f1a1a08deb..fc8452831c 100644 --- a/code/modules/admin/verbs/smite_vr.dm +++ b/code/modules/admin/verbs/smite_vr.dm @@ -130,7 +130,7 @@ if(SMITE_AD_SPAM) if(target.client) - create_fake_ad_popup_multiple(/obj/screen/popup/default, 15) + target.client.create_fake_ad_popup_multiple(/obj/screen/popup/default, 15) else return //Injection? Don't print any messages. diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index 018c2b4336..79df20a324 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -33,4 +33,6 @@ var/list/_robot_default_emotes = list( ) /mob/living/silicon/robot/get_available_emotes() - return global._robot_default_emotes.Copy() + var/list/fulllist = global._robot_default_emotes.Copy() + fulllist |= _human_default_emotes + return fulllist \ No newline at end of file From 56f0906618c913835fb98b37c2d15a03b9daf023 Mon Sep 17 00:00:00 2001 From: Novacat <35587478+Novacat@users.noreply.github.com> Date: Wed, 21 Dec 2022 21:28:48 -0500 Subject: [PATCH 03/26] Merge pull request #14224 from Heroman3003/cream Gives service borgs some cream --- code/modules/reagents/reagent_containers/borghypo.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/borghypo.dm b/code/modules/reagents/reagent_containers/borghypo.dm index 544d6e8f42..1825d2d67e 100644 --- a/code/modules/reagents/reagent_containers/borghypo.dm +++ b/code/modules/reagents/reagent_containers/borghypo.dm @@ -136,13 +136,14 @@ volume = 60 possible_transfer_amounts = list(5, 10, 20, 30) reagent_ids = list("ale", - "cider", "beer", "berryjuice", "bitters", + "cider", "coffee", "cognac", "cola", + "cream", "dr_gibb", "egg", "gin", From e57d7497a863fbfc34838d3113a5dd66d2b904c0 Mon Sep 17 00:00:00 2001 From: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Date: Thu, 22 Dec 2022 13:49:26 +1000 Subject: [PATCH 05/26] Merge pull request #14223 from Seris02/nomorereplicantsensors stops ai controlled humanoids from spawning with sensors on --- .../mob/living/carbon/human/ai_controlled/ai_controlled_vr.dm | 2 ++ vorestation.dme | 1 + 2 files changed, 3 insertions(+) create mode 100644 code/modules/mob/living/carbon/human/ai_controlled/ai_controlled_vr.dm diff --git a/code/modules/mob/living/carbon/human/ai_controlled/ai_controlled_vr.dm b/code/modules/mob/living/carbon/human/ai_controlled/ai_controlled_vr.dm new file mode 100644 index 0000000000..1dbd38868c --- /dev/null +++ b/code/modules/mob/living/carbon/human/ai_controlled/ai_controlled_vr.dm @@ -0,0 +1,2 @@ +/mob/living/carbon/human/ai_controlled + sensorpref = 1 diff --git a/vorestation.dme b/vorestation.dme index d94f11e021..ac886b359e 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -3010,6 +3010,7 @@ #include "code\modules\mob\living\carbon\human\unarmed_attack.dm" #include "code\modules\mob\living\carbon\human\update_icons.dm" #include "code\modules\mob\living\carbon\human\ai_controlled\ai_controlled.dm" +#include "code\modules\mob\living\carbon\human\ai_controlled\ai_controlled_vr.dm" #include "code\modules\mob\living\carbon\human\descriptors\_descriptors.dm" #include "code\modules\mob\living\carbon\human\descriptors\descriptors_generic.dm" #include "code\modules\mob\living\carbon\human\descriptors\descriptors_skrell.dm" From 20f27cec9456a2c610716db084f693997afa42a2 Mon Sep 17 00:00:00 2001 From: Raeschen Date: Thu, 22 Dec 2022 10:18:44 +0100 Subject: [PATCH 07/26] Fix oversight with #5420 forgot the .dme entry with an added code file --- vorestation.dme | 1 + 1 file changed, 1 insertion(+) diff --git a/vorestation.dme b/vorestation.dme index d94f11e021..4417bc4e65 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -4518,6 +4518,7 @@ #include "modular_chomp\code\modules\client\preference_setup\general\03_body.dm" #include "modular_chomp\code\modules\client\preference_setup\global\setting_datums.dm" #include "modular_chomp\code\modules\client\preference_setup\loadout\loadout_general.dm" +#include "modular_chomp\code\modules\client\preference_setup\loadout\loadout_xeno.dm" #include "modular_chomp\code\modules\clothing\clothing.dm" #include "modular_chomp\code\modules\clothing\spacesuits\rig\clockwork_ch.dm" #include "modular_chomp\code\modules\clothing\spacesuits\rig\rig.dm" From 0e5c709ea54534b496a7137f0a300cce82fed87b Mon Sep 17 00:00:00 2001 From: Verkister Date: Thu, 22 Dec 2022 15:08:17 +0200 Subject: [PATCH 08/26] Fixes point-blank throws Disables the funny feature someone had felt the urge to code in that overrides intentional throws with a give action. We have an actual verb for that in IC tab. --- code/modules/mob/living/living.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 8df2a4c789..225a6ef197 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1125,6 +1125,7 @@ if(!item) return FALSE //Grab processing has a chance of returning null +/* CHOMPEdit. If I want to do a nice little give I use the actual verb for it. if(a_intent == I_HELP && Adjacent(target) && isitem(item) && ishuman(target)) var/obj/item/I = item var/mob/living/carbon/human/H = target @@ -1135,6 +1136,7 @@ to_chat(src, SPAN_NOTICE("You offer \the [I] to \the [target].")) do_give(H) return TRUE +*/ drop_from_inventory(item) From 3ff6d6401161087752256255f74c61f5bf52bff3 Mon Sep 17 00:00:00 2001 From: Verkister Date: Thu, 22 Dec 2022 17:52:16 +0200 Subject: [PATCH 09/26] Adds custom egg name option for vorgan egg mode Funnily enough I'm not adding this for some dirty disposals reasons this time. I just wanted to name my bottie's compact material packages something other than "rock egg" lmao --- code/game/objects/items/weapons/storage/egg_vr.dm | 1 + code/modules/vore/eating/belly_obj_vr.dm | 7 +++++-- code/modules/vore/eating/bellymodes_datum_vr.dm | 11 +++++++++++ code/modules/vore/eating/vorepanel_vr.dm | 9 +++++++++ tgui/packages/tgui/interfaces/VorePanel.js | 10 +++++++++- tgui/public/tgui.bundle.js | 2 +- 6 files changed, 36 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/weapons/storage/egg_vr.dm b/code/game/objects/items/weapons/storage/egg_vr.dm index 97da55c4ff..3ee2e0046e 100644 --- a/code/game/objects/items/weapons/storage/egg_vr.dm +++ b/code/game/objects/items/weapons/storage/egg_vr.dm @@ -15,6 +15,7 @@ show_messages = 0 allow_quick_empty = TRUE use_sound = 'sound/items/drop/flesh.ogg' + var/egg_name = null //CHOMPAdd /obj/item/weapon/storage/vore_egg/Initialize() . = ..() diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index a0f977d789..fe248b58fe 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -49,6 +49,7 @@ var/obj/item/weapon/storage/vore_egg/ownegg // Is this belly creating an egg? var/egg_type = "Egg" // Default egg type and path. var/egg_path = /obj/item/weapon/storage/vore_egg + var/egg_name = null // CHOMPAdd. Custom egg name var/list/list/emote_lists = list() // Idle emotes that happen on their own, depending on the bellymode. Contains lists of strings indexed by bellymode var/emote_time = 60 // How long between stomach emotes at prey (in seconds) var/emote_active = TRUE // Are we even giving emotes out at all or not? @@ -278,7 +279,8 @@ "autotransfer_max_amount", "slow_digestion", "slow_brutal", - "sound_volume", //CHOMP end of variables from CHOMP + "sound_volume", + "egg_name", //CHOMP end of variables from CHOMP "egg_type", "save_digest_mode" ) @@ -1391,7 +1393,8 @@ dupe.autotransfer_max_amount = autotransfer_max_amount dupe.slow_digestion = slow_digestion dupe.slow_brutal = slow_brutal - dupe.sound_volume = sound_volume //CHOMP end of variables from CHOMP + dupe.sound_volume = sound_volume + dupe.egg_name = egg_name //CHOMP end of variables from CHOMP dupe.belly_fullscreen = belly_fullscreen dupe.disable_hud = disable_hud diff --git a/code/modules/vore/eating/bellymodes_datum_vr.dm b/code/modules/vore/eating/bellymodes_datum_vr.dm index b55843a96c..3078717d2e 100644 --- a/code/modules/vore/eating/bellymodes_datum_vr.dm +++ b/code/modules/vore/eating/bellymodes_datum_vr.dm @@ -218,6 +218,14 @@ GLOBAL_LIST_INIT(digest_modes, list()) var/list/egg_contents = list() for(var/E in touchable_atoms) if(istype(E, /obj/item/weapon/storage/vore_egg)) // Don't egg other eggs. + var/obj/item/weapon/storage/vore_egg/EG //CHOMPEdit Start + if(EG.egg_name != B.egg_name) + if(!B.egg_name) + EG.egg_name = null + EG.name = initial(EG.name) + else + EG.egg_name = B.egg_name + EG.name = B.egg_name continue if(isliving(E)) var/mob/living/L = E @@ -231,6 +239,9 @@ GLOBAL_LIST_INIT(digest_modes, list()) if(B.egg_type in tf_vore_egg_types) B.egg_path = tf_vore_egg_types[B.egg_type] B.ownegg = new B.egg_path(B) + if(B.ownegg && B.egg_name) + B.ownegg.egg_name = B.egg_name + B.ownegg.name = B.egg_name //CHOMPEdit End for(var/atom/movable/C in egg_contents) if(isitem(C) && egg_contents.len == 1) //Only egging one item var/obj/item/I = C diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index f57f3114bd..5c9a66057e 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -181,6 +181,7 @@ // "messages" // TODO "can_taste" = selected.can_taste, "egg_type" = selected.egg_type, + "egg_name" = selected.egg_name, //CHOMPAdd "nutrition_percent" = selected.nutrition_percent, "digest_brute" = selected.digest_brute, "digest_burn" = selected.digest_burn, @@ -238,6 +239,7 @@ //CHOMPEdit END selected_list["egg_type"] = selected.egg_type + selected_list["egg_name"] = selected.egg_name //CHOMPAdd selected_list["contaminates"] = selected.contaminates selected_list["contaminate_flavor"] = null selected_list["contaminate_color"] = null @@ -1198,6 +1200,13 @@ return FALSE host.vore_selected.egg_type = new_egg_type . = TRUE + if("b_egg_name") //CHOMPAdd Start + var/new_egg_name = html_encode(tgui_input_text(usr,"Custom Egg Name (Leave empty for default egg name)","New Egg Name")) + if(length(new_egg_name) > BELLIES_NAME_MAX) + tgui_alert_async(usr, "Entered name too long (max [BELLIES_NAME_MAX]).","Error") + return FALSE + host.vore_selected.egg_name = new_egg_name + . = TRUE //CHOMPAdd End if("b_desc") var/new_desc = html_encode(tgui_input_text(usr,"Belly Description, '%pred' will be replaced with your name. '%prey' will be replaced with the prey's name. '%belly' will be replaced with your belly's name. ([BELLIES_DESC_MAX] char limit):","New Description",host.vore_selected.desc, multiline = TRUE, prevent_enter = TRUE)) diff --git a/tgui/packages/tgui/interfaces/VorePanel.js b/tgui/packages/tgui/interfaces/VorePanel.js index 3357ef5109..8c3d51da50 100644 --- a/tgui/packages/tgui/interfaces/VorePanel.js +++ b/tgui/packages/tgui/interfaces/VorePanel.js @@ -49,7 +49,7 @@ const digestModeToPreyMode = { * show_liq, liq_interacts, liq_reagent_gen, liq_reagent_type, liq_reagent_name, * liq_reagent_transfer_verb, liq_reagent_nutri_rate, liq_reagent_capacity, liq_sloshing, liq_reagent_addons, * show_liq_fullness, liq_messages, liq_msg_toggle1, liq_msg_toggle2, liq_msg_toggle3, liq_msg_toggle4, - * liq_msg_toggle5, liq_msg1, liq_msg2, liq_msg3, liq_msg4, liq_msg5, sound_volume, + * liq_msg_toggle5, liq_msg1, liq_msg2, liq_msg3, liq_msg4, liq_msg5, sound_volume, egg_name, * * To the tabs section of VoreSelectedBelly return * setTabIndex(5)}> @@ -649,6 +649,7 @@ const VoreSelectedBellyOptions = (props, context) => { contaminate_flavor, contaminate_color, egg_type, + egg_name, selective_preference, save_digest_mode, vorespawn_blacklist, @@ -776,6 +777,13 @@ const VoreSelectedBellyOptions = (props, context) => { content={capitalize(egg_type)} /> + +