diff --git a/code/modules/vore/eating/panel_databackend/vorepanel_set_attribute.dm b/code/modules/vore/eating/panel_databackend/vorepanel_set_attribute.dm index 333aa6e0d3e..efcc6753fb3 100644 --- a/code/modules/vore/eating/panel_databackend/vorepanel_set_attribute.dm +++ b/code/modules/vore/eating/panel_databackend/vorepanel_set_attribute.dm @@ -330,57 +330,55 @@ var/confirm = tgui_alert(user,"This will delete any custom messages. Are you sure?","Confirmation",list("Cancel","DELETE")) if(!confirm == "DELETE") return FALSE - var/obj/belly/default_belly = new /obj/belly(null) - host.vore_selected.digest_messages_prey = default_belly.digest_messages_prey.Copy() - host.vore_selected.digest_messages_owner = default_belly.digest_messages_owner.Copy() - host.vore_selected.absorb_messages_prey = default_belly.absorb_messages_prey.Copy() - host.vore_selected.absorb_messages_owner = default_belly.absorb_messages_owner.Copy() - host.vore_selected.unabsorb_messages_prey = default_belly.unabsorb_messages_prey.Copy() - host.vore_selected.unabsorb_messages_owner = default_belly.unabsorb_messages_owner.Copy() - host.vore_selected.struggle_messages_outside = default_belly.struggle_messages_outside.Copy() - host.vore_selected.struggle_messages_inside = default_belly.struggle_messages_inside.Copy() - host.vore_selected.absorbed_struggle_messages_outside = default_belly.absorbed_struggle_messages_outside.Copy() - host.vore_selected.absorbed_struggle_messages_inside = default_belly.absorbed_struggle_messages_inside.Copy() - host.vore_selected.escape_attempt_messages_owner = default_belly.escape_attempt_messages_owner.Copy() - host.vore_selected.escape_attempt_messages_prey = default_belly.escape_attempt_messages_prey.Copy() - host.vore_selected.escape_messages_owner = default_belly.escape_messages_owner.Copy() - host.vore_selected.escape_messages_prey = default_belly.escape_messages_prey.Copy() - host.vore_selected.escape_messages_outside = default_belly.escape_messages_outside.Copy() - host.vore_selected.escape_item_messages_owner = default_belly.escape_item_messages_owner.Copy() - host.vore_selected.escape_item_messages_prey = default_belly.escape_item_messages_prey.Copy() - host.vore_selected.escape_item_messages_outside = default_belly.escape_item_messages_outside.Copy() - host.vore_selected.escape_fail_messages_owner = default_belly.escape_fail_messages_owner.Copy() - host.vore_selected.escape_fail_messages_prey = default_belly.escape_fail_messages_prey.Copy() - host.vore_selected.escape_attempt_absorbed_messages_owner = default_belly.escape_attempt_absorbed_messages_owner.Copy() - host.vore_selected.escape_attempt_absorbed_messages_prey = default_belly.escape_attempt_absorbed_messages_prey.Copy() - host.vore_selected.escape_absorbed_messages_owner = default_belly.escape_absorbed_messages_owner.Copy() - host.vore_selected.escape_absorbed_messages_prey = default_belly.escape_absorbed_messages_prey.Copy() - host.vore_selected.escape_absorbed_messages_outside = default_belly.escape_absorbed_messages_outside.Copy() - host.vore_selected.escape_fail_absorbed_messages_owner = default_belly.escape_fail_absorbed_messages_owner.Copy() - host.vore_selected.escape_fail_absorbed_messages_prey = default_belly.escape_fail_absorbed_messages_prey.Copy() - host.vore_selected.primary_transfer_messages_owner = default_belly.primary_transfer_messages_owner.Copy() - host.vore_selected.primary_transfer_messages_prey = default_belly.primary_transfer_messages_prey.Copy() - host.vore_selected.secondary_transfer_messages_owner = default_belly.secondary_transfer_messages_owner.Copy() - host.vore_selected.secondary_transfer_messages_prey = default_belly.secondary_transfer_messages_prey.Copy() - host.vore_selected.primary_autotransfer_messages_owner = default_belly.primary_autotransfer_messages_owner.Copy() - host.vore_selected.primary_autotransfer_messages_prey = default_belly.primary_autotransfer_messages_prey.Copy() - host.vore_selected.secondary_autotransfer_messages_owner = default_belly.secondary_autotransfer_messages_owner.Copy() - host.vore_selected.secondary_autotransfer_messages_prey = default_belly.secondary_autotransfer_messages_prey.Copy() - host.vore_selected.digest_chance_messages_owner = default_belly.digest_chance_messages_owner.Copy() - host.vore_selected.digest_chance_messages_prey = default_belly.digest_chance_messages_prey.Copy() - host.vore_selected.absorb_chance_messages_owner = default_belly.absorb_chance_messages_owner.Copy() - host.vore_selected.absorb_chance_messages_prey = default_belly.absorb_chance_messages_prey.Copy() - host.vore_selected.examine_messages = default_belly.examine_messages.Copy() - host.vore_selected.examine_messages_absorbed = default_belly.examine_messages_absorbed.Copy() - host.vore_selected.emote_lists = default_belly.emote_lists.Copy() - host.vore_selected.trash_eater_in = default_belly.trash_eater_in.Copy() - host.vore_selected.trash_eater_out = default_belly.trash_eater_out.Copy() - host.vore_selected.liquid_fullness1_messages = default_belly.fullness1_messages.Copy() - host.vore_selected.liquid_fullness2_messages = default_belly.fullness2_messages.Copy() - host.vore_selected.liquid_fullness3_messages = default_belly.fullness3_messages.Copy() - host.vore_selected.liquid_fullness4_messages = default_belly.fullness4_messages.Copy() - host.vore_selected.liquid_fullness5_messages = default_belly.fullness5_messages.Copy() - qdel(default_belly) + host.vore_selected.digest_messages_prey = /obj/belly::digest_messages_prey + host.vore_selected.digest_messages_owner = /obj/belly::digest_messages_owner + host.vore_selected.absorb_messages_prey = /obj/belly::absorb_messages_prey + host.vore_selected.absorb_messages_owner = /obj/belly::absorb_messages_owner + host.vore_selected.unabsorb_messages_prey = /obj/belly::unabsorb_messages_prey + host.vore_selected.unabsorb_messages_owner = /obj/belly::unabsorb_messages_owner + host.vore_selected.struggle_messages_outside = /obj/belly::struggle_messages_outside + host.vore_selected.struggle_messages_inside = /obj/belly::struggle_messages_inside + host.vore_selected.absorbed_struggle_messages_outside = /obj/belly::absorbed_struggle_messages_outside + host.vore_selected.absorbed_struggle_messages_inside = /obj/belly::absorbed_struggle_messages_inside + host.vore_selected.escape_attempt_messages_owner = /obj/belly::escape_attempt_messages_owner + host.vore_selected.escape_attempt_messages_prey = /obj/belly::escape_attempt_messages_prey + host.vore_selected.escape_messages_owner = /obj/belly::escape_messages_owner + host.vore_selected.escape_messages_prey = /obj/belly::escape_messages_prey + host.vore_selected.escape_messages_outside = /obj/belly::escape_messages_outside + host.vore_selected.escape_item_messages_owner = /obj/belly::escape_item_messages_owner + host.vore_selected.escape_item_messages_prey = /obj/belly::escape_item_messages_prey + host.vore_selected.escape_item_messages_outside = /obj/belly::escape_item_messages_outside + host.vore_selected.escape_fail_messages_owner = /obj/belly::escape_fail_messages_owner + host.vore_selected.escape_fail_messages_prey = /obj/belly::escape_fail_messages_prey + host.vore_selected.escape_attempt_absorbed_messages_owner = /obj/belly::escape_attempt_absorbed_messages_owner + host.vore_selected.escape_attempt_absorbed_messages_prey = /obj/belly::escape_attempt_absorbed_messages_prey + host.vore_selected.escape_absorbed_messages_owner = /obj/belly::escape_absorbed_messages_owner + host.vore_selected.escape_absorbed_messages_prey = /obj/belly::escape_absorbed_messages_prey + host.vore_selected.escape_absorbed_messages_outside = /obj/belly::escape_absorbed_messages_outside + host.vore_selected.escape_fail_absorbed_messages_owner = /obj/belly::escape_fail_absorbed_messages_owner + host.vore_selected.escape_fail_absorbed_messages_prey = /obj/belly::escape_fail_absorbed_messages_prey + host.vore_selected.primary_transfer_messages_owner = /obj/belly::primary_transfer_messages_owner + host.vore_selected.primary_transfer_messages_prey = /obj/belly::primary_transfer_messages_prey + host.vore_selected.secondary_transfer_messages_owner = /obj/belly::secondary_transfer_messages_owner + host.vore_selected.secondary_transfer_messages_prey = /obj/belly::secondary_transfer_messages_prey + host.vore_selected.primary_autotransfer_messages_owner = /obj/belly::primary_autotransfer_messages_owner + host.vore_selected.primary_autotransfer_messages_prey = /obj/belly::primary_autotransfer_messages_prey + host.vore_selected.secondary_autotransfer_messages_owner = /obj/belly::secondary_autotransfer_messages_owner + host.vore_selected.secondary_autotransfer_messages_prey = /obj/belly::secondary_autotransfer_messages_prey + host.vore_selected.digest_chance_messages_owner = /obj/belly::digest_chance_messages_owner + host.vore_selected.digest_chance_messages_prey = /obj/belly::digest_chance_messages_prey + host.vore_selected.absorb_chance_messages_owner = /obj/belly::absorb_chance_messages_owner + host.vore_selected.absorb_chance_messages_prey = /obj/belly::absorb_chance_messages_prey + host.vore_selected.examine_messages = /obj/belly::examine_messages + host.vore_selected.examine_messages_absorbed = /obj/belly::examine_messages_absorbed + host.vore_selected.emote_lists = /obj/belly::emote_lists + host.vore_selected.trash_eater_in = /obj/belly::trash_eater_in + host.vore_selected.trash_eater_out = /obj/belly::trash_eater_out + host.vore_selected.liquid_fullness1_messages = /obj/belly::fullness1_messages + host.vore_selected.liquid_fullness2_messages = /obj/belly::fullness2_messages + host.vore_selected.liquid_fullness3_messages = /obj/belly::fullness3_messages + host.vore_selected.liquid_fullness4_messages = /obj/belly::fullness4_messages + host.vore_selected.liquid_fullness5_messages = /obj/belly::fullness5_messages . = TRUE if("b_verb") var/new_verb = html_encode(params["val"]) diff --git a/tgui/packages/tgui/interfaces/VorePanel/VorePanelElements/VorePanelTextArea.tsx b/tgui/packages/tgui/interfaces/VorePanel/VorePanelElements/VorePanelTextArea.tsx index 9e1bb2ffc12..41fb1d814e6 100644 --- a/tgui/packages/tgui/interfaces/VorePanel/VorePanelElements/VorePanelTextArea.tsx +++ b/tgui/packages/tgui/interfaces/VorePanel/VorePanelElements/VorePanelTextArea.tsx @@ -1,4 +1,11 @@ -import { type ReactNode, useEffect, useMemo, useRef, useState } from 'react'; +import { + Fragment, + type ReactNode, + useEffect, + useMemo, + useRef, + useState, +} from 'react'; import { useBackend } from 'tgui/backend'; import { Box, @@ -29,9 +36,17 @@ const DescriptionSyntaxHighlighting = (props: { desc: string }) => { let lastIndex = 0; let result = regexCopy.exec(desc); while (result !== null) { - elements.push(desc.substring(lastIndex, result.index)); elements.push( - + + {desc.substring(lastIndex, result.index)} + , + ); + elements.push( + {result[0]} , ); @@ -39,7 +54,11 @@ const DescriptionSyntaxHighlighting = (props: { desc: string }) => { result = regexCopy.exec(desc); } - elements.push(desc.substring(lastIndex)); + elements.push( + + {desc.substring(lastIndex)} + , + ); setHtmlDesc(elements); }, [desc]); diff --git a/tgui/packages/tgui/interfaces/VorePanel/VoreSelectedBellyTabs/DescriptionTab/VoreSelectedBellyDescriptionMatrix.tsx b/tgui/packages/tgui/interfaces/VorePanel/VoreSelectedBellyTabs/DescriptionTab/VoreSelectedBellyDescriptionMatrix.tsx index 6dd31f4490b..bd65e4dc741 100644 --- a/tgui/packages/tgui/interfaces/VorePanel/VoreSelectedBellyTabs/DescriptionTab/VoreSelectedBellyDescriptionMatrix.tsx +++ b/tgui/packages/tgui/interfaces/VorePanel/VoreSelectedBellyTabs/DescriptionTab/VoreSelectedBellyDescriptionMatrix.tsx @@ -1,7 +1,7 @@ +import { useEffect } from 'react'; import { useBackend } from 'tgui/backend'; import { Button, Section, Stack, Tabs } from 'tgui-core/components'; import type { BooleanLike } from 'tgui-core/react'; - import { messageTabLabel } from '../../constants'; import type { BellyDescriptionData } from '../../types'; import { VorePanelEditTextTabs } from '../../VorePanelElements/VorePaneldEditTextTabs'; @@ -30,6 +30,12 @@ export const VoreSelectedBellyDescriptionMatrix = (props: { selected_message, } = bellyDescriptionData; + useEffect(() => { + if (!displayed_options.includes(message_option)) { + act('change_message_option', { tab: 0 }); + } + }, []); + return (