Emi Matchu
a3bd841bb8
Okay so, like 30 minutes ago I added fallback behavior for cases where we can't correctly infer the color from a PB item's name… and then I pulled it up in the color and found that, oh, right, there are already 3 PB items that *correctly* return `nil` for `Item#pb_color`: Aisha Collar, Elephante Hat, and Ixi Collar. This is because they're common items that apply to many colors, like the basics, but also many other less-special or older color variants. They are the most likely case where we'll return `nil`. So, I've updated our fallback UI to, instead of talk vaguely about missing data, just assume that we're dealing with basic items. In the rare window of time where a new color is released, and we have PB items for it but no manual color data yet, this can just incorrectly say "Basic Colors" and that's fine.
124 lines
4.2 KiB
Text
124 lines
4.2 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}"
|
|
- elsif color
|
|
= image_tag pet_type_image_url(@pb_color_pet_types[color], size: :face),
|
|
srcset: ["#{pet_type_image_url(@pb_color_pet_types[color], size: :face_2x)} 2x"],
|
|
alt: @pb_color_pet_types[color].human_name
|
|
- else
|
|
= image_tag "https://images.neopets.com/items/starter_red_pb.gif",
|
|
alt: "Item thumbnail for Starter Red Paint Brush"
|
|
%th
|
|
- if color
|
|
#{color.pb_item_name || color.name.humanize}
|
|
- else
|
|
Basic colors
|
|
(#{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
|
|
- elsif color
|
|
.special-color-explanation
|
|
Get via Lab Ray, morphing potions, etc.
|
|
- else
|
|
.special-color-explanation
|
|
Many colors, like Red, will grant this item.
|
|
%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/
|
|
%table.item-list
|
|
%thead
|
|
%td
|
|
%th{colspan: 2}
|
|
Total: #{pluralize @other_nc_items.size, "item"}
|
|
%tbody
|
|
- @other_nc_items.each do |item|
|
|
= render "item_list_row", item:, subtitle: nc_trade_value_subtitle_for(item) do
|
|
= button_link_to "NC Trades",
|
|
item_trades_path(item, type: "offering"),
|
|
target: "_blank", icon: search_icon
|
|
|
|
- content_for :stylesheets do
|
|
= page_stylesheet_link_tag "items/sources"
|