forked from OpenNeo/impress
Default to masc/fem for colors like "elderlyboy", in item previews
instead of doing the random choice we do for most colors. This is especially noticeable in cases where like, I'm looking at the Elderlyboy Ogrin and like, it has *work* put into the masc eyes, and them fem eyes are just the standard ones.
This commit is contained in:
parent
620e59f3ed
commit
d470dde135
2 changed files with 15 additions and 3 deletions
|
@ -35,6 +35,16 @@ class Color < ApplicationRecord
|
|||
end
|
||||
end
|
||||
|
||||
def default_gender_presentation
|
||||
if name.downcase.ends_with? "boy"
|
||||
:masc
|
||||
elsif name.downcase.ends_with? "girl"
|
||||
:fem
|
||||
else
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
def self.pranks_funny?
|
||||
now = Time.now.in_time_zone('Pacific Time (US & Canada)')
|
||||
now.month == 4 && now.day == 1
|
||||
|
|
|
@ -107,9 +107,11 @@ class PetType < ApplicationRecord
|
|||
|
||||
def canonical_pet_state
|
||||
# For consistency (randomness is always scary!), we use the PetType ID to
|
||||
# determine which gender to prefer. That way, it'll be stable, but we'll
|
||||
# still get the *vibes* of uniform randomness.
|
||||
preferred_gender = id % 2 == 0 ? :fem : :masc
|
||||
# determine which gender to prefer, if it's not built into the color. That
|
||||
# way, it'll be stable, but we'll still get the *vibes* of randomness.
|
||||
preferred_gender = color.default_gender_presentation ||
|
||||
(id % 2 == 0 ? :fem : :masc)
|
||||
puts preferred_gender
|
||||
|
||||
# NOTE: If this were only being called on one pet type at a time, it would
|
||||
# be more efficient to send this as a single query with an `order` part and
|
||||
|
|
Loading…
Reference in a new issue