Skip to content

CTOUT/AscensionVanity

Repository files navigation

AscensionVanity - Combat Pet Tracker

Coverage Items Version Automation

Overview

AscensionVanity is a World of Warcraft addon for Project Ascension that helps players track combat pet taming items by enhancing creature tooltips to display which vanity items they can drop.

Primary Focus: 🐾 Combat Pet Items - All 2,174 combat pets available in Ascension
Vanity Types: Beastmaster's Whistle, Blood Soaked Vellum, Summoner's Stone, Draconic Warhorn, Elemental Lodestone

Current Status: ✅ 99.95% Complete - 2,173 items with descriptions (1 correctly blank)
Workflow: 🤖 95% Automated - Master enrichment script handles everything

Features

✨ Current Features

  • Creature Tooltip Enhancement: Shows vanity items when mousing over creatures
  • Smart Detection: Identifies creatures by NPC ID with location descriptions
  • Comprehensive Database: 2,174 combat pets with 99.95% description coverage
  • Visual Indicators: Clean, informative tooltip display
  • Toggleable Options: Enable/disable via slash commands
  • Lightweight: Minimal performance impact

� Database Quality

Metric Status Notes
Total Combat Pets 2,174 Complete Ascension database
With Descriptions 2,173 (99.95%) Excellent coverage
Empty (Correct) 1 (0.05%) Captain Claws (NPC doesn't exist)
Description Sources db.ascension.gg + Wowhead WOTLK Multi-source validation

🤖 Automated Workflow

The project includes a fully automated enrichment workflow:

Master Script: utilities/MasterDescriptionEnrichment.ps1

  • 95-97% Automation: Only 3-5% need manual research
  • Multi-Source Search: db.ascension.gg (primary) + Wowhead WOTLK (fallback)
  • Safe Updates: Pattern matching + dry-run mode
  • Comprehensive Reporting: CSV, JSON, and manual research lists

Run anytime: Simply execute the master script to find and enrich any empty descriptions automatically.

See Master Enrichment Workflow for complete documentation.

Installation

  1. Download or clone this repository

  2. Copy the AscensionVanity folder to:

    World of Warcraft\Interface\AddOns\AscensionVanity\
    
  3. Restart WoW or reload UI (/reload)

  4. The addon loads automatically

Usage

Basic Usage

Mouse over any creature in-game. If it drops combat pet vanity items, you'll see:

[Creature Name]
Level XX Type

Vanity Items:
• Beastmaster's Whistle: Savannah Patriarch
• Summoner's Stone: Savannah Prowler
  Found in Barrens (Southern Barrens)

User Interface

Settings UI: Modern standalone frame with professional styling

  • Access via: /avanity command or Interface Options
  • Configure tooltip display, learned status, and color coding
  • Quick access to API Scanner

API Scanner UI: Developer tool for database generation

  • Access via: /avanity scanner command or Settings UI button
  • Scan Ascension API for all vanity items
  • Export data for processing
  • Debug mode toggle

Features:

  • ✅ Draggable, movable frames
  • ✅ ESC key to close
  • ✅ Mutual exclusion (only one UI open at a time)
  • ✅ Real-time sync with slash commands
  • ✅ Professional DialogBox styling

Slash Commands

Available Commands: /avanity, /ascvan, or /ascensionvanity

UI Commands

  • /avanity - Open Settings UI
  • /avanity scanner - Open API Scanner UI
  • /avanity help - Display help information

Toggle Commands

  • /avanity toggle - Enable/disable addon
  • /avanity learned - Toggle learned status display
  • /avanity color - Toggle color coding
  • /avanity debug - Toggle debug mode (updates UI in real-time)

Database Validation (NEW in v2.1)

  • /avanity apidump - Extract complete API data to SavedVariables
  • /avanity validate - Compare API data vs static database
  • /avanity export - Export API data in VanityDB format
  • /avanity showexport - Display exported data in chat
  • /avanity api - Scan for available Ascension vanity APIs
  • /avanity dump - Dump vanity collection data structure
  • /avanity dumpitem <itemID> - Search for specific item in API data

See API Validation Guide for complete validation workflow.

Database Validation System (v2.1)

The addon now includes a comprehensive validation system using Ascension's official C_VanityCollection API:

Quick Validation Workflow:

  1. In-game: /avanity apidump → Wait for completion
  2. Type: /reload → Save data
  3. Type: /avanity validate → Review results
  4. PowerShell: .\utilities\AnalyzeAPIDump.ps1 → Detailed analysis

Purpose:

  • ✅ Validate static database against official API
  • ✅ Find missing items (the 144 items not in our database)
  • ✅ Fix incorrect mappings inherited from web scraping
  • ✅ Generate automated database updates

Documentation:

Project Structure

AscensionVanity/
├── AscensionVanity/          # Addon files (install this folder)
│   ├── AscensionVanity.toc   # Addon metadata
│   ├── Core.lua              # Main addon logic
│   └── VanityDB.lua  # Auto-generated database
├── docs/                     # Documentation
│   ├── analysis/             # Data analysis reports
│   │   ├── SKIPPED_ITEMS_ANALYSIS.md
│   │   ├── SPOT_CHECK_ANALYSIS.md
│   │   └── VENDOR_ITEM_DISCOVERY.md
│   ├── guides/               # User guides
│   │   ├── EXTRACTION_GUIDE.md
│   │   ├── README_DOCUMENTATION.md
│   │   └── TODO_FUTURE_INVESTIGATIONS.md
│   └── archive/              # Archived project documents
├── utilities/                # Development scripts
│   ├── AnalyzeSourceCodes.ps1
│   ├── CountByCategory.ps1
│   ├── DiagnoseMissingItems.ps1
│   ├── DiagnoseSourcemore.ps1
│   └── ExtractDatabaseVerbose.ps1
├── ExtractDatabase.ps1       # Main extraction script
└── README.md                 # This file

Development

Testing the Addon

Deploy the addon to your WoW AddOns folder for in-game testing:

# Deploy once (copies files to WoW)
.\DeployAddon.ps1

# Deploy and watch for changes (auto-deploys on file save)
.\DeployAddon.ps1 -Watch

# Force re-deploy all files
.\DeployAddon.ps1 -Force

# Deploy to custom WoW path
.\DeployAddon.ps1 -WoWPath "C:\Games\WoW\Interface\AddOns"

After deployment:

  1. Launch World of Warcraft
  2. Type /reload to reload UI
  3. Type /avanity help to verify addon loaded

Database Extraction

The database is automatically generated from the Project Ascension database:

# Extract fresh data (bypasses cache)
.\ExtractDatabase.ps1 -Force

# Use cached data (default)
.\ExtractDatabase.ps1

# Verbose output
.\ExtractDatabase.ps1 -Verbose

Data Source: https://db.ascension.gg/?items=101

Key Features of Extraction Script

Intelligent Validation: Only includes items with verified drop sources
Caching System: Reduces API calls and speeds up re-runs
Comprehensive Comments: Explains edge cases and known limitations
Error Reporting: Detailed validation error tracking

Known Limitations

The 69 skipped items fall into these categories:

  1. Vendor Items (20 items) - Purchased from NPCs, not dropped
  2. Token Exchange (Not counted separately) - Exchanged for tokens
  3. Event Exclusive (1 item) - Manastorm event reward
  4. Boss Drops Needing Verification (9 items) - Need manual confirmation
  5. Duplicates/Unobtainable (10 items) - Database inconsistencies

See TODO: Future Investigations for items needing verification.

Documentation

For Users

For Developers

Analysis Reports

  • Spot Check Analysis - Manual verification results
  • Coverage Statistics: 96.7% (2,032/2,101 items) ✅ Excellent

Pending Features

⏳ Learned Status Detection

  • Status: Placeholder implemented
  • Blocker: Need Project Ascension API for checking learned vanity items
  • Current: IsVanityItemLearned() returns nil (unknown status)
  • Next Steps: Research Ascension's collection API or addon communication methods

Contributing

Found a combat pet vanity item that's missing or has incorrect information?

  1. Check the Issue Tracker to see if it's already documented
  2. Verify the creature and drop in-game
  3. Report it with:
    • NPC ID and name
    • Item name and type
    • Location/zone information
    • Screenshot of drop or loot table

Credits

  • Author: CMTout
  • Data Source: Project Ascension Database + Wowhead WOTLK
  • Extraction Tool: PowerShell with automated enrichment workflow
  • Database Coverage: 99.95% (2,173/2,174 combat pets with descriptions)

License

This addon is provided as-is for use with Project Ascension.


Last Updated: October 29, 2025
Version: 2.0-dev
Database: 2,174 combat pets | 99.95% description coverage
Automation: Master enrichment workflow with 95-97% automation

  • Observer
  • Doomguard
  • Nathrezim (Dreadlord)
  • Mo'arg Engineer
  • Void Terror
  • Abyssal
  • Gan'arg
  • Fel Beast

Troubleshooting

Addon doesn't load

  • Check that all three files (.toc, VanityData.lua, Core.lua) are present
  • Verify the folder name is exactly AscensionVanity
  • Check for Lua errors using /console scriptErrors 1

No vanity items showing in tooltips

  • Verify addon is enabled with /avanity toggle
  • Check if the creature is in the database (currently limited dataset)
  • Enable debug mode with /avanity debug to see detailed information

Learned status not showing

  • This feature requires Ascension-specific API implementation
  • Currently displays all items as unknown status (no checkmark)

Contributing

Adding More Vanity Items

To expand the database:

  1. Extract items from https://db.ascension.gg/?items=101
  2. Add entries to VanityData.lua:
    ["Creature Name"] = {
        itemID = 12345,  -- If known
        itemName = "Summoner's Stone: Creature Name",
        type = "Creature Type"
    }
  3. For generic drops, add to type-based lists:
    AV_GenericDropsByType["Creature Type"] = {
        "Summoner's Stone: Item1",
        "Summoner's Stone: Item2",
    }

Implementing Learned Status

If you know the Ascension API for checking learned vanity items:

  1. Edit Core.lua
  2. Find the IsVanityItemLearned() function
  3. Replace the TODO comment with actual API calls
  4. Return true if learned, false if not learned, nil if unknown

Example pattern:

local function IsVanityItemLearned(itemID, itemName)
    -- Replace with actual Ascension API
    if itemID then
        return AscensionAPI.HasLearnedVanityItem(itemID)
    end
    return nil
end

API Reference

Public Functions

AV_GetVanityItemsForCreature(creatureName, creatureType)

Returns a table of vanity items for a given creature.

Parameters:

  • creatureName (string): The creature's name
  • creatureType (string): The creature's type (e.g., "Terrorfiend")

Returns:

  • Table of items, each containing:
    • itemID (number|nil): Item ID if known
    • itemName (string): Full item name
    • type (string): Creature type

Example:

local items = AV_GetVanityItemsForCreature("Zarcsin", "Terrorfiend")
for _, item in ipairs(items) do
    print(item.itemName)
end

AV_Debug(creatureName, creatureType)

Debug function to test creature/item lookups.

Parameters:

  • creatureName (string): Creature name to test
  • creatureType (string): Creature type to test

Example:

/run AV_Debug("Zarcsin", "Terrorfiend")

Saved Variables

The addon stores configuration in AscensionVanityDB:

AscensionVanityDB = {
    enabled = true,              -- Addon enabled/disabled
    showLearnedStatus = true,    -- Show learned status indicators
    colorCode = true,            -- Use color coding
}

Version History

v1.0.0 (Current)

  • Initial release
  • Basic tooltip enhancement functionality
  • Creature name and type detection
  • Sample database with ~50 vanity items
  • Slash command interface
  • Configuration persistence
  • Color-coded display

Credits

  • Database Source: Project Ascension (https://db.ascension.gg/)
  • WoW API: Wowpedia community documentation
  • Development: Created for Project Ascension community

License

This addon is provided as-is for the Project Ascension community. Feel free to modify and distribute.

Support

For issues, suggestions, or contributions:

  • Check the Project Ascension forums
  • Report bugs with detailed steps to reproduce
  • Include your WoW version and addon version

Note: This addon is specifically designed for Project Ascension and may not work on retail WoW or other private servers without modification.

About

World of Warcraft addon for tracking vanity item drops on Project Ascension

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •