Oops, don't show UC conflict glitch while loading
The way we were checking for UC compatibility issues, was also triggering while the appearance was still loading, so items didn't have any appearance layers yet! Now, we check for loading before testing for that glitch.
This commit is contained in:
parent
277b8df838
commit
efa8a4d499
1 changed files with 32 additions and 27 deletions
|
@ -13,34 +13,39 @@ function OutfitKnownGlitchesBadge({ appearance }) {
|
||||||
// Look for UC/Invisible/etc incompatibilities that we hid, that we should
|
// Look for UC/Invisible/etc incompatibilities that we hid, that we should
|
||||||
// just mark Incompatible someday instead; or with correctly partially-hidden
|
// just mark Incompatible someday instead; or with correctly partially-hidden
|
||||||
// art.
|
// art.
|
||||||
for (const item of items) {
|
//
|
||||||
// HACK: We use `getVisibleLayers` with just this pet appearance and item
|
// NOTE: This particular glitch is checking for the *absence* of layers, so
|
||||||
// appearance, to run the logic for which layers are compatible with
|
// we skip it if we're still loading!
|
||||||
// this pet. But `getVisibleLayers` does other things too, so it's
|
if (!appearance.loading) {
|
||||||
// plausible that this could do not quite what we want in some cases!
|
for (const item of items) {
|
||||||
const allItemLayers = item.appearance.layers;
|
// HACK: We use `getVisibleLayers` with just this pet appearance and item
|
||||||
const compatibleItemLayers = getVisibleLayers(petAppearance, [
|
// appearance, to run the logic for which layers are compatible with
|
||||||
item.appearance,
|
// this pet. But `getVisibleLayers` does other things too, so it's
|
||||||
]).filter((l) => l.source === "item");
|
// plausible that this could do not quite what we want in some cases!
|
||||||
|
const allItemLayers = item.appearance.layers;
|
||||||
|
const compatibleItemLayers = getVisibleLayers(petAppearance, [
|
||||||
|
item.appearance,
|
||||||
|
]).filter((l) => l.source === "item");
|
||||||
|
|
||||||
if (compatibleItemLayers.length === 0) {
|
if (compatibleItemLayers.length === 0) {
|
||||||
glitchMessages.push(
|
glitchMessages.push(
|
||||||
<Box key={`total-uc-conflict-for-item-${item.id}`}>
|
<Box key={`total-uc-conflict-for-item-${item.id}`}>
|
||||||
<i>{item.name}</i> isn't actually compatible with this special pet.
|
<i>{item.name}</i> isn't actually compatible with this special pet.
|
||||||
We're hiding the item art, which is outdated behavior, and we should
|
We're hiding the item art, which is outdated behavior, and we should
|
||||||
instead be treating it as entirely incompatible. Fixing this is in our
|
instead be treating it as entirely incompatible. Fixing this is in
|
||||||
todo list, sorry for the confusing UI!
|
our todo list, sorry for the confusing UI!
|
||||||
</Box>
|
</Box>
|
||||||
);
|
);
|
||||||
} else if (compatibleItemLayers.length < allItemLayers.length) {
|
} else if (compatibleItemLayers.length < allItemLayers.length) {
|
||||||
glitchMessages.push(
|
glitchMessages.push(
|
||||||
<Box key={`partial-uc-conflict-for-item-${item.id}`}>
|
<Box key={`partial-uc-conflict-for-item-${item.id}`}>
|
||||||
<i>{item.name}</i>'s compatibility with this pet is complicated, but
|
<i>{item.name}</i>'s compatibility with this pet is complicated, but
|
||||||
we believe this is how it looks: some zones are visible, and some
|
we believe this is how it looks: some zones are visible, and some
|
||||||
zones are hidden. If this isn't quite right, please email me at
|
zones are hidden. If this isn't quite right, please email me at
|
||||||
matchu@openneo.net and let me know!
|
matchu@openneo.net and let me know!
|
||||||
</Box>
|
</Box>
|
||||||
);
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue