79 lines
1.6 KiB
Ruby
79 lines
1.6 KiB
Ruby
module GranblueEnums
|
|
extend ActiveSupport::Concern
|
|
|
|
# Define constants for shared enum mappings.
|
|
RARITIES = { R: 1, SR: 2, SSR: 3 }.freeze
|
|
ELEMENTS = { Null: 0, Wind: 1, Fire: 2, Water: 3, Earth: 4, Dark: 5, Light: 6 }.freeze
|
|
GENDERS = { Unknown: 0, Male: 1, Female: 2, "Male/Female": 3 }.freeze
|
|
|
|
# Single proficiency enum mapping used for both proficiency1 and proficiency2.
|
|
PROFICIENCY = {
|
|
None: 0,
|
|
Sabre: 1,
|
|
Dagger: 2,
|
|
Axe: 3,
|
|
Spear: 4,
|
|
Bow: 5,
|
|
Staff: 6,
|
|
Melee: 7,
|
|
Harp: 8,
|
|
Gun: 9,
|
|
Katana: 10
|
|
}.freeze
|
|
|
|
# Single race enum mapping used for both race1 and race2.
|
|
RACES = {
|
|
Unknown: 0,
|
|
Human: 1,
|
|
Erune: 2,
|
|
Draph: 3,
|
|
Harvin: 4,
|
|
Primal: 5,
|
|
None: 6
|
|
}.freeze
|
|
|
|
# Character seasons - display disambiguation for seasonal variants (e.g., "Vane [Halloween]")
|
|
# If no season, value should be nil (not a default value)
|
|
CHARACTER_SEASONS = {
|
|
Valentine: 1,
|
|
Formal: 2,
|
|
Summer: 3,
|
|
Halloween: 4,
|
|
Holiday: 5
|
|
}.freeze
|
|
|
|
# Character series - represents character identity/pool membership (can have multiple)
|
|
CHARACTER_SERIES = {
|
|
Standard: 1,
|
|
Grand: 2,
|
|
Zodiac: 3,
|
|
Promo: 4,
|
|
Collab: 5,
|
|
Eternal: 6,
|
|
Evoker: 7,
|
|
Saint: 8,
|
|
Fantasy: 9,
|
|
Summer: 10,
|
|
Yukata: 11,
|
|
Valentine: 12,
|
|
Halloween: 13,
|
|
Formal: 14,
|
|
Holiday: 15,
|
|
Event: 16
|
|
}.freeze
|
|
|
|
# Gacha promotions - which pools/banners a weapon or summon appears in
|
|
PROMOTIONS = {
|
|
Premium: 1,
|
|
Classic: 2,
|
|
ClassicII: 3,
|
|
Flash: 4,
|
|
Legend: 5,
|
|
Valentine: 6,
|
|
Summer: 7,
|
|
Halloween: 8,
|
|
Holiday: 9,
|
|
Collab: 10,
|
|
Formal: 11
|
|
}.freeze
|
|
end
|