Matchu
4e11ee4da7
In the previous change, we started grouping PB items by color. But I wanted to better express that the grouping itself *is* an item, and the items below it are secondary! The main change we make here is to leverage DTI's existing design language that "thumbnail image means item", and record thumbnail URLs as well as paint brush names now, too! We're still not leveraging the full Item system here, just fields on Color. Keeping it simple for now! Here's the script I ran to add the paint brush images to all the existing colors! ```rb Color.find_by_name("Baby").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/babypaintbrush.gif") Color.find_by_name("Biscuit").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_biscuit.gif") Color.find_by_name("Blue").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/bluepntbrsh.gif") Color.find_by_name("Brown").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/brownpntbrush.gif") Color.find_by_name("Camouflage").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_camo.gif") Color.find_by_name("Candy").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_candy.gif") Color.find_by_name("Checkered").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/checkeredpntbrush.gif") Color.find_by_name("Christmas").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/xmaspaintbrush.gif") Color.find_by_name("Cloud").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/cloudpntbrush.gif") Color.find_by_name("Darigan").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/pb_darigan.gif") Color.find_by_name("Dimensional").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_dimensional.gif") Color.find_by_name("Disco").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/discopntbrush.gif") Color.find_by_name("Electric").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/electricbluepntbrush.gif") Color.find_by_name("Eventide").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/eventidepaintbrush.gif") Color.find_by_name("Faerie").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/faeriepntbrush.gif") Color.find_by_name("Fire").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/firepntbrush.gif") Color.find_by_name("Elderlyboy").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/pb_elderly.gif") Color.find_by_name("Elderlygirl").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/pb_elderly.gif") Color.find_by_name("Ghost").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/ghostpntbrush.gif") Color.find_by_name("Glowing").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/glowingpntbrsh.gif") Color.find_by_name("Gold").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/gold_pntbrush.gif") Color.find_by_name("Green").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/greenpntbrsh.gif") Color.find_by_name("Grey").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/greypntbrush.gif") Color.find_by_name("Halloween").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/halloweenpntbrsh.gif") Color.find_by_name("Invisible").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/invisiblepntbrsh.gif") Color.find_by_name("Desert").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/desertpaintbrush.gif") Color.find_by_name("Maractite").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/maractitepaintbrush.gif") Color.find_by_name("Maraquan").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/maraquanpntbrush.gif") Color.find_by_name("Marble").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_marble.gif") Color.find_by_name("Island").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/islandpntbrush.gif") Color.find_by_name("Oil Paint").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/oilpaintingpntbrsh.gif") Color.find_by_name("Orange").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/orange_paint_brush.gif") Color.find_by_name("Origami").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_origami.gif") Color.find_by_name("Pastel").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_pastel.gif") Color.find_by_name("Pink").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/pink_paint_brush.gif") Color.find_by_name("Pirate").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/piratepntbrush.gif") Color.find_by_name("Plushie").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/plushiepaintbrush.gif") Color.find_by_name("Polka Dot").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_polkadot.gif") Color.find_by_name("Purple").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/purplepntbrsh.gif") Color.find_by_name("Rainbow").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/rainbowpntbrsh.gif") Color.find_by_name("Red").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/redpntbrsh.gif") Color.find_by_name("Relic").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/relic_pntbrush.gif") Color.find_by_name("Royalboy").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_royal.gif") Color.find_by_name("Royalgirl").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_royal.gif") Color.find_by_name("Sketch").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/sketchpntbrush.gif") Color.find_by_name("Shadow").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/shadowpntbrsh.gif") Color.find_by_name("Silver").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/silverpntbrsh.gif") Color.find_by_name("Skunk").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/skunkpntbrush.gif") Color.find_by_name("Snow").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_snowman.gif") Color.find_by_name("Speckled").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/greenwhitedotspntbrush.gif") Color.find_by_name("Split").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/halfandhalfpntbrsh.gif") Color.find_by_name("Spotted").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/spottedpntbrush.gif") Color.find_by_name("Starry").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/starspntbrush.gif") Color.find_by_name("Stealthy").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/pb_stealthy.gif") Color.find_by_name("Steampunk").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_steampunk.gif") Color.find_by_name("Strawberry").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/strawberrypntbrush.gif") Color.find_by_name("Striped").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/stripedpntbrsh.gif") Color.find_by_name("Swamp Gas").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/newpbsg2011color.gif") Color.find_by_name("Toy").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_toy.gif") Color.find_by_name("Transparent").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/transparentpaintbrush.gif") Color.find_by_name("Tyrannian").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/tyrannianpntbrush.gif") Color.find_by_name("Usuki Boy").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/usukipaintbrush.gif") Color.find_by_name("Usuki Girl").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/usukipaintbrush.gif") Color.find_by_name("Valentine").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_valentine.gif") Color.find_by_name("Water").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_water.gif") Color.find_by_name("White").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/whitepntbrsh.gif") Color.find_by_name("Woodland").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_woodland.gif") Color.find_by_name("Wraith").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_wraith.gif") Color.find_by_name("Yellow").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/yellowpntbrsh.gif") Color.find_by_name("Zombie").update!(pb_item_thumbnail_url: "https://images.neopets.com/items/paintbrush_zombie.gif") ```
101 lines
3.4 KiB
Text
101 lines
3.4 KiB
Text
- title "Item Getting Guide"
|
|
%h1#title Item Getting Guide
|
|
|
|
- if @nc_mall_items.present?
|
|
%h2 NC Mall items
|
|
:markdown
|
|
These items are available in the NC Mall right now! You can buy them
|
|
with Neocash, a special currency you can [purchase directly][nc]
|
|
from Neopets or redeem via [gift cards][gc].
|
|
|
|
[nc]: https://secure.nc.neopets.com/get-neocash
|
|
[gc]: https://secure.nc.neopets.com/nickcash-cards
|
|
%table.item-list
|
|
%thead
|
|
%tr
|
|
%td
|
|
%th
|
|
Total: #{@nc_mall_items.map(&:current_nc_price).sum} NC
|
|
(#{pluralize @nc_mall_items.size, "item"})
|
|
|
|
%td.actions-cell
|
|
%button{onclick: "alert('Todo!')"}
|
|
= cart_icon alt: ""
|
|
Buy all in NC Mall
|
|
%tbody
|
|
- @nc_mall_items.each do |item|
|
|
= render "item_list_row", item: do
|
|
%button{onclick: "alert('Todo!')"}
|
|
= cart_icon alt: ""
|
|
Buy (#{item.current_nc_price} NC)
|
|
|
|
- if @np_items.present?
|
|
%h2 Neopoint items
|
|
:markdown
|
|
These items can be purchased with Neopoints. For less-expensive items,
|
|
check the [Shop Wizard][wiz] first. Otherwise, try the
|
|
[Trading Post][tp] or [Auction Genie][ag]. Dress to Impress doesn't
|
|
track Neopoint item prices, but other fansites do!
|
|
|
|
[wiz]: https://www.neopets.com/shops/wizard.phtml
|
|
[tp]: https://www.neopets.com/island/tradingpost.phtml?type=browse
|
|
[ag]: https://www.neopets.com/genie.phtml
|
|
%table.item-list
|
|
%thead
|
|
%td
|
|
%th{colspan: 2}
|
|
Total: #{pluralize @np_items.size, "item"}
|
|
%tbody
|
|
- @np_items.each do |item|
|
|
= render "item_list_row", item: do
|
|
= button_link_to "Shops", shop_wizard_url_for(item),
|
|
target: "_blank", icon: search_icon
|
|
= button_link_to "Trades", trading_post_url_for(item),
|
|
target: "_blank", icon: search_icon
|
|
|
|
- if @pb_items.present?
|
|
%h2 Paint Brush items
|
|
:markdown
|
|
These items are part of a paint brush set. Once you paint your pet,
|
|
these items will be semi-permanently added to your Closet, even if your
|
|
pet changes color again! You can use this to mix-and-match styles for
|
|
"cross-paint" outfits.
|
|
- @pb_items_by_color.each do |color, items|
|
|
%table.item-list{"data-group-type": "bundle"}
|
|
%thead
|
|
%td.thumbnail-cell
|
|
- if color.pb_item_thumbnail_url?
|
|
= image_tag color.pb_item_thumbnail_url,
|
|
alt: "Item thumbnail for #{color.pb_item_name}"
|
|
%th
|
|
#{color.pb_item_name || color.name.humanize}
|
|
(#{pluralize items.size, "item"})
|
|
%td.actions-cell
|
|
- if color.pb_item_name?
|
|
= button_link_to "Shops",
|
|
shop_wizard_url_for(color.pb_item_name),
|
|
target: "_blank", icon: search_icon
|
|
= button_link_to "Trades",
|
|
trading_post_url_for(color.pb_item_name),
|
|
target: "_blank", icon: search_icon
|
|
- else
|
|
.special-color-explanation
|
|
Get via Lab Ray, morphing potions, etc.
|
|
%tbody
|
|
- items.each do |item|
|
|
= render "item_list_row", item:
|
|
|
|
- if @other_nc_items.present?
|
|
%h2 Neocash items (Capsules, Dyeworks, events, retired, etc.)
|
|
:markdown
|
|
These items are part of the Neocash economy and can't be purchased with
|
|
Neopoints. We don't track all the details of how to get these items
|
|
right now! Sometimes they're available via packs or capsules or events
|
|
in the [NC Mall][mall]. Sometimes they're retired and can't be
|
|
purchased at all anymore, and can only be obtained via gifts or trades.
|
|
|
|
[mall]: https://ncmall.neopets.com/
|
|
= render @other_nc_items
|
|
|
|
- content_for :stylesheets do
|
|
= page_stylesheet_link_tag "items/sources"
|