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 )