Add probabilities to Dyeworks items in Item Getting Guide
I'm gonna better explain the gacha nature, I'm doing this part first!
This commit is contained in:
parent
b6bd539fed
commit
97abd6e438
4 changed files with 25 additions and 2 deletions
|
@ -240,6 +240,17 @@ module ItemsHelper
|
||||||
{nc_total:, summary:}
|
{nc_total:, summary:}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def probability(p)
|
||||||
|
case p
|
||||||
|
when 1
|
||||||
|
"100%"
|
||||||
|
when 0
|
||||||
|
"0%"
|
||||||
|
else
|
||||||
|
"#{p.numerator} in #{p.denominator}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def build_on_pet_types(species, special_color=nil, &block)
|
def build_on_pet_types(species, special_color=nil, &block)
|
||||||
|
|
|
@ -17,6 +17,8 @@ class Item < ApplicationRecord
|
||||||
has_many :swf_assets, :through => :parent_swf_asset_relationships
|
has_many :swf_assets, :through => :parent_swf_asset_relationships
|
||||||
belongs_to :dyeworks_base_item, class_name: "Item",
|
belongs_to :dyeworks_base_item, class_name: "Item",
|
||||||
default: -> { inferred_dyeworks_base_item }, optional: true
|
default: -> { inferred_dyeworks_base_item }, optional: true
|
||||||
|
has_many :dyeworks_variants, class_name: "Item",
|
||||||
|
inverse_of: :dyeworks_base_item
|
||||||
|
|
||||||
|
|
||||||
attr_writer :current_body_id, :owned, :wanted
|
attr_writer :current_body_id, :owned, :wanted
|
||||||
|
|
|
@ -83,6 +83,16 @@ class Item
|
||||||
date
|
date
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# The probability of getting this item when dyeing the base item.
|
||||||
|
def dyeworks_odds
|
||||||
|
return nil unless dyeworks?
|
||||||
|
|
||||||
|
num_variants = dyeworks_base_item.dyeworks_variants.count
|
||||||
|
raise "Item's Dyeworks base has *no* variants??" if num_variants < 1
|
||||||
|
|
||||||
|
Rational(1, num_variants)
|
||||||
|
end
|
||||||
|
|
||||||
# Infer what base item this Dyeworks item probably relates to, based on
|
# Infer what base item this Dyeworks item probably relates to, based on
|
||||||
# their names. We only use this when a new item is modeled to initialize
|
# their names. We only use this when a new item is modeled to initialize
|
||||||
# the `dyeworks_base_item` relationship in the database; after that, we
|
# the `dyeworks_base_item` relationship in the database; after that, we
|
||||||
|
|
|
@ -70,8 +70,8 @@
|
||||||
- base_item = item.dyeworks_base_item
|
- base_item = item.dyeworks_base_item
|
||||||
|
|
||||||
- content_for :subtitle, flush: true do
|
- content_for :subtitle, flush: true do
|
||||||
= link_to base_item.name, base_item, target: "_blank"
|
#{link_to base_item.name, base_item, target: "_blank"},
|
||||||
+ 1 potion
|
#{probability item.dyeworks_odds} chance
|
||||||
- if item.dyeworks_permanent?
|
- if item.dyeworks_permanent?
|
||||||
%span.dyeworks-timeframe{
|
%span.dyeworks-timeframe{
|
||||||
title: "This recipe is NOT currently scheduled to be removed " +
|
title: "This recipe is NOT currently scheduled to be removed " +
|
||||||
|
|
Loading…
Reference in a new issue