impress/app/models
Emi Matchu 71f0aa4908 Oops, fix modeling logic
Oh huh, I guess most of the new items we had when I rewrote this were
Maraquan, and I didn't test enough on standard species-specific items.

Before this change, partially-modeled items for standard pets would
appear as fully modeled, because the presence of the "nonstandard"
color Orange (because of the Orange Chia) meant that the "standard" key
didn't actually have any unique bodies (it was all `["standard", 47]`).

Here, I take my own comments' advice and move away from the standard
label as part of the logic. Instead, we look first for nonstandard
colors with unique bodies, which we'll call out as modelable; and then
check whether there are any basic bodies *not* covered by those special
colors.

That way, compatibility with the Maraquan Acara (a unique body) means
we'll treat Maraquan as a modelable color; and then we'll ignore the
basic bodies, even though it *does* fit the basic Mynci, because there
aren't any compatible basic bodies that aren't *also* Maraquan bodies.

This also means that compatibility with both the Blue Acara and Orange
Acara does *not* preclude a normal item from needing basic pets for
models: because, while Orange is a slightly nonstandard color in the
case of Chia, it doesn't have its own unique body for this item, so we
ignore it when predicting compatibility with basic colors.
2024-10-08 22:46:11 -07:00
..
fundraising Move fundraising models into the Fundraising module 2024-02-18 20:29:31 -08:00
item Merge remote-tracking branch 'origin/main' 2024-07-01 14:56:08 -07:00
alt_style.rb Use full name when showing Alt Styles in the list 2024-09-30 17:41:21 -07:00
application_record.rb Upgrade to Rails 5.2.8.1 2023-10-23 19:05:05 -07:00
auth_record.rb Add AuthUser model, connecting to openneo_id db 2023-10-23 19:05:07 -07:00
auth_user.rb Use Neopets username as base name for new NeoPass accounts, if possible 2024-04-09 07:48:13 -07:00
closet_hanger.rb Fix MissingAttributeError in ClosetHanger#merge_quantities 2024-02-28 13:30:55 -08:00
closet_list.rb Disallow email addresses in closet list descriptions 2024-04-16 17:04:31 -07:00
closet_visibility.rb Delete a couple unused accessors 2023-11-11 15:42:08 -08:00
color.rb Add filter form to alt styles page 2024-09-30 16:06:22 -07:00
contribution.rb Track contributions of Alt Styles 2024-01-24 03:54:43 -08:00
item.rb Oops, fix modeling logic 2024-10-08 22:46:11 -07:00
item_outfit_relationship.rb Oops, update outfit's updated_at when adding/removing items 2024-02-08 10:32:53 -08:00
nc_mall_record.rb Add more info to NC Mall section of Item Getting Guide 2024-05-14 16:04:40 -07:00
neopets_connection.rb Upgrade to Rails 5.2.8.1 2023-10-23 19:05:05 -07:00
neopets_page.rb Update most URLs to use HTTPS 2023-10-25 15:22:57 -07:00
outfit.rb Add Customize More button back to item pages 2024-09-06 17:12:11 -07:00
parent_swf_asset_relationship.rb Add cached fields to Item model for searching, but don't use them yet 2024-09-30 23:10:44 -07:00
pet.rb Oops, fix crash when modeling Patchwork Staff (AMFPHP string encoding!) 2024-09-27 15:18:43 -07:00
pet_state.rb Use PetState#updated_at for the supported pose cache key, not latest ID 2024-10-07 17:56:42 -07:00
pet_type.rb Add /rainbow-pool.json for all species, colors, and poses 2024-10-07 17:38:53 -07:00
species.rb Drastically reduce queries for item page preview 2024-09-05 17:52:35 -07:00
swf_asset.rb Remove unused code related to no-longer-present asset downloads 2024-10-07 17:06:14 -07:00
user.rb Add shadowban mechanism for closet lists 2024-04-20 20:57:15 -07:00
zone.rb Remove unused logic for whether a zone is "sometimes" occupied 2024-08-31 13:16:47 -07:00