107 lines
4.5 KiB
Go
107 lines
4.5 KiB
Go
package titles
|
|
|
|
// Title types and constants
|
|
const (
|
|
// Title positioning
|
|
TitlePositionPrefix = 1 // Title appears before character name
|
|
TitlePositionSuffix = 0 // Title appears after character name
|
|
|
|
// Title sources - how titles are obtained
|
|
TitleSourceAchievement = 1 // From completing achievements
|
|
TitleSourceQuest = 2 // From completing quests
|
|
TitleSourceTradeskill = 3 // From tradeskill mastery
|
|
TitleSourceCombat = 4 // From combat achievements
|
|
TitleSourceExploration = 5 // From exploring zones
|
|
TitleSourceRare = 6 // From rare collections/encounters
|
|
TitleSourceGuildRank = 7 // From guild progression
|
|
TitleSourcePvP = 8 // From PvP activities
|
|
TitleSourceRaid = 9 // From raid completions
|
|
TitleSourceHoliday = 10 // From holiday events
|
|
TitleSourceBetaTester = 11 // Beta testing rewards
|
|
TitleSourceDeveloper = 12 // Developer/GM titles
|
|
TitleSourceRoleplay = 13 // Roleplay-related titles
|
|
TitleSourceMiscellaneous = 14 // Other/uncategorized
|
|
|
|
// Title display formats
|
|
DisplayFormatSimple = 0 // Just the title text
|
|
DisplayFormatWithBrackets = 1 // [Title]
|
|
DisplayFormatWithQuotes = 2 // "Title"
|
|
DisplayFormatWithCommas = 3 // ,Title,
|
|
|
|
// Title rarity levels
|
|
TitleRarityCommon = 0 // Common titles easily obtained
|
|
TitleRarityUncommon = 1 // Moderately difficult to obtain
|
|
TitleRarityRare = 2 // Difficult to obtain
|
|
TitleRarityEpic = 3 // Very difficult to obtain
|
|
TitleRarityLegendary = 4 // Extremely rare titles
|
|
TitleRarityUnique = 5 // One-of-a-kind titles
|
|
|
|
// Title categories for organization
|
|
CategoryCombat = "Combat"
|
|
CategoryTradeskill = "Tradeskill"
|
|
CategoryExploration = "Exploration"
|
|
CategorySocial = "Social"
|
|
CategoryAchievement = "Achievement"
|
|
CategoryQuest = "Quest"
|
|
CategoryRare = "Rare"
|
|
CategorySeasonal = "Seasonal"
|
|
CategoryGuild = "Guild"
|
|
CategoryPvP = "PvP"
|
|
CategoryRaid = "Raid"
|
|
CategoryClass = "Class"
|
|
CategoryRace = "Race"
|
|
CategoryMiscellaneous = "Miscellaneous"
|
|
|
|
// Title unlock requirements
|
|
RequirementTypeLevel = 1 // Character level requirement
|
|
RequirementTypeQuest = 2 // Specific quest completion
|
|
RequirementTypeAchievement = 3 // Achievement completion
|
|
RequirementTypeSkill = 4 // Skill level requirement
|
|
RequirementTypeTradeskill = 5 // Tradeskill level
|
|
RequirementTypeCollection = 6 // Collection completion
|
|
RequirementTypeKill = 7 // Kill count requirement
|
|
RequirementTypeExploration = 8 // Zone discovery
|
|
RequirementTypeTime = 9 // Time-based requirement
|
|
RequirementTypeItem = 10 // Item possession
|
|
RequirementTypeGuild = 11 // Guild membership/rank
|
|
RequirementTypeFaction = 12 // Faction standing
|
|
RequirementTypeClass = 13 // Specific class requirement
|
|
RequirementTypeRace = 14 // Specific race requirement
|
|
RequirementTypeAlignment = 15 // Good/Evil alignment
|
|
RequirementTypeZone = 16 // Specific zone requirement
|
|
RequirementTypeExpansion = 17 // Expansion ownership
|
|
|
|
// Title flags
|
|
FlagHidden = 1 << 0 // Hidden from normal display
|
|
FlagAccountWide = 1 << 1 // Available to all characters on account
|
|
FlagUnique = 1 << 2 // Only one player can have this title
|
|
FlagTemporary = 1 << 3 // Title expires after time
|
|
FlagEventRestricted = 1 << 4 // Only available during events
|
|
FlagNoLongerAvailable = 1 << 5 // Legacy title no longer obtainable
|
|
FlagStarter = 1 << 6 // Available to new characters
|
|
FlagGMOnly = 1 << 7 // Game Master only
|
|
FlagBetaRestricted = 1 << 8 // Beta tester only
|
|
FlagRoleplayFriendly = 1 << 9 // Designed for roleplay
|
|
|
|
// Maximum limits
|
|
MaxTitleNameLength = 255 // Maximum characters in title name
|
|
MaxTitleDescriptionLength = 512 // Maximum characters in description
|
|
MaxPlayerTitles = 500 // Maximum titles per player
|
|
MaxTitleRequirements = 10 // Maximum requirements per title
|
|
|
|
// Title IDs - Special/System titles (using negative IDs to avoid conflicts)
|
|
TitleIDNone = 0 // No title selected
|
|
TitleIDCitizen = -1 // Default citizen title
|
|
TitleIDVisitor = -2 // Default visitor title
|
|
TitleIDNewcomer = -3 // New player title
|
|
TitleIDReturning = -4 // Returning player title
|
|
|
|
// Color codes for title rarity display
|
|
ColorCommon = 0xFFFFFF // White
|
|
ColorUncommon = 0x00FF00 // Green
|
|
ColorRare = 0x0080FF // Blue
|
|
ColorEpic = 0x8000FF // Purple
|
|
ColorLegendary = 0xFF8000 // Orange
|
|
ColorUnique = 0xFF0000 // Red
|
|
)
|