Hello, community!
I’m deeply involved in a personal project that reads character information from World of Warcraft 3.3.5a (Warmane server) using Python.
My ultimate goal is to build a tool that analyzes arena state in real-time and highlights priority targets based on their vulnerability to damage.
To achieve this, I need to fetch data such as a player’s
armor and—if it exists—something like a “
critical vulnerability” value (e.g., a field named 'CRIT_TAKEN_RATING').
I’ve been researching offsets and learned a lot along the way, but private servers come with unique quirks and protections.
1. Approach & Current Findings
Step 1 – Iterating the Object Manager
So far I can iterate through the Object Manager, access the object list and pull basic details.
The validated offsets on this base are:
Code:
STATIC_MAP_ID = 0x00AB63BC ; Map ID (RVA)
STATIC_LOCAL_PLAYER_GUID_ADDR = 0x00CA1238 ; Local player GUID
Object Manager navigation
Code:
OFFSET_OBJECT_MANAGER_PTR_FROM_CLIENT_CONN = 0x02ED0
OFFSET_FIRST_OBJECT_PTR_FROM_OM = 0x00AC
OFFSET_NEXT_OBJECT_PTR = 0x003C
Basic object / player info
Code:
OFFSET_OBJECT_GUID = 0x30
OFFSET_OBJECT_TYPE_ID= 0x14 ; TYPE_ID_PLAYER = 4
OFFSET_DESCRIPTOR_PTR= 0x08 ; Pointer to descriptors
Step 2 – Splitting Players Into Teams
I’m experimenting with the descriptor field
Code:
PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = 0x04E8
expecting equal values for teammates.
2. The Main Challenge: Allies vs. Opponents
Below is a snapshot of what I currently observe:
Code:
Me (local) GUID 0xA…D TeamInfo 0x0ECD
Confirmed ally GUID 0xA…9 TeamInfo 0x0C99
Confirmed opponent GUID 0xA…B TeamInfo 0x0EFA
Since my own differs from my ally’s value, a simple equality check misclassifies allies as enemies.
3. Roadmap Toward a “Vulnerability” Score
- Armor scan – locate and read every player’s armor value.
- Critical-taken metric – confirm if a field for “crit taken” exists and how to read it.
- Ranking algorithm – list arena players ordered by damage susceptibility, combining team info, armor and crit-taken data.
4. Questions & Help Needed
4.1 About
Code:
PLAYER_FIELD_ARENA_TEAM_INFO_1_1
- Do values normally differ among teammates on 3.3.5a (especially Warmane)?
- What’s the correct interpretation—an arena “color” ID or something else?
- Is there a sturdier offset / method to distinguish allies from opponents?
4.2 About Vulnerability Analysis
- Known offsets or advice for reading armor?
- Any reliable field related to “crit taken” that can be read?
I would greatly appreciate any pointers, offset suggestions or personal experiences—both for team identification and for reading combat attributes that feed a vulnerability score.
Thanks in advance for your insights!