From e0c7a4d82c1e9a50376fa78a50c51ea00e5b2941 Mon Sep 17 00:00:00 2001 From: Matchu Date: Tue, 30 Mar 2021 22:27:34 -0700 Subject: [PATCH] Add OFFICIAL_BODY_ID_IS_INCORRECT glitch Applied to - Colourful Female Kiko Dancer Tambourine - Magma Usul Bow - Stealthy Elephante Mask - Wocky Gadgeteer Air Balloon --- src/app/WardrobePage/OutfitKnownGlitchesBadge.js | 16 ++++++++++++++++ .../support/ItemLayerSupportModal.js | 7 +++++++ src/server/types/AppearanceLayer.js | 6 ++++++ 3 files changed, 29 insertions(+) diff --git a/src/app/WardrobePage/OutfitKnownGlitchesBadge.js b/src/app/WardrobePage/OutfitKnownGlitchesBadge.js index 0c97124..f7db9ea 100644 --- a/src/app/WardrobePage/OutfitKnownGlitchesBadge.js +++ b/src/app/WardrobePage/OutfitKnownGlitchesBadge.js @@ -89,6 +89,22 @@ function OutfitKnownGlitchesBadge({ appearance }) { } } + // Look for items with the OFFICIAL_BODY_ID_IS_INCORRECT glitch. + for (const item of items) { + const itemHasOfficialBodyIdIsIncorrect = item.appearance.layers.some((l) => + (l.knownGlitches || []).includes("OFFICIAL_BODY_ID_IS_INCORRECT") + ); + if (itemHasOfficialBodyIdIsIncorrect) { + glitchMessages.push( + + Last we checked, {item.name} actually is compatible with this + pet, even though it seems like it shouldn't be. But TNT might change + this at any time, so be careful! + + ); + } + } + // Look for Dyeworks items that aren't converted yet. for (const item of items) { const itemIsDyeworks = item.name.includes("Dyeworks"); diff --git a/src/app/WardrobePage/support/ItemLayerSupportModal.js b/src/app/WardrobePage/support/ItemLayerSupportModal.js index d88f8bf..a57e18a 100644 --- a/src/app/WardrobePage/support/ItemLayerSupportModal.js +++ b/src/app/WardrobePage/support/ItemLayerSupportModal.js @@ -442,6 +442,13 @@ function ItemLayerSupportKnownGlitchesFields({ (Will use the PNG instead) + + Fits all pets on-site, but should not{" "} + + (TNT's fault. Will show a message, and keep the compatibility + settings above.) + + Only fits pets with other body-specific assets{" "} diff --git a/src/server/types/AppearanceLayer.js b/src/server/types/AppearanceLayer.js index 5c74843..ee4ab29 100644 --- a/src/server/types/AppearanceLayer.js +++ b/src/server/types/AppearanceLayer.js @@ -100,6 +100,12 @@ const typeDefs = gql` # For affected layers, svgUrl will be null, regardless of the manifest. OFFICIAL_SVG_IS_INCORRECT + # This glitch means that the official body ID for this asset is not correct + # (usually 0), so it will fit some pets that it shouldn't. We reflect this + # accurately on DTI, with a message to explain that it's not our error, and + # as a warning that this might not work if TNT changes it later. + OFFICIAL_BODY_ID_IS_INCORRECT + # This glitch is a hack for a bug in DTI: some items, like "Living in # Watermelon Foreground and Background", have a background layer that's # shared across all bodies - but it should NOT fit pets that don't have a