[Classic] 1.13.5.35395 CurrentHealth/MaxHealth/IsDeadOrGhost menu

User Tag List

Results 1 to 4 of 4
  1. #1
    scimmy's Avatar Active Member
    Reputation
    17
    Join Date
    Jul 2020
    Posts
    14
    Thanks G/R
    0/8
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [Classic] 1.13.5.35395 CurrentHealth/MaxHealth/IsDeadOrGhost

    Spent some time looking into this last night, but may just be rehashed content--sorry in advance if so.

    Code:
    CurrentHealth: Object + 0x188] + 0xC0
    MaxHealth: Object + 0x188] + 0xE0
    Checking if you're dead is as simple as just checking if CurrentHealth == 0.

    Code:
    bool IsGhostOrDead(this) at Object vtable[112]
    
    Relevant code below
    LABEL_12:
        v6 = 0i64;
        goto LABEL_13;
      }
      if ( !(*(unsigned __int8 (__fastcall **)(__int64))(*(_QWORD *)v4 + 0x380i64))(v4)
        && !((*(_DWORD *)(*(_QWORD *)(v5 + 0x188) + 0x160i64) >> 13) & 1) )
      {
        goto LABEL_12;
      }
      v6 = 1i64;
    LABEL_13:
      sub_7FF7336E0C70(v1, v6);
      return 1i64;
    Seems like 0x188 from the object base address holds some sort of structure for additional player data? 0x160 seems to be some movement/character state flags or something. I see different bits getting flipped when I'm rooted or when my hp falls below different thresholds. I still haven't figured that part out yet fully, but the above information is enough to figure out if your character is dead or a ghost.
    Last edited by scimmy; 08-07-2020 at 08:29 PM.

    These ads disappear when you log in.

  2. #2
    ejt's Avatar Contributor
    Reputation
    159
    Join Date
    Mar 2008
    Posts
    142
    Thanks G/R
    3/85
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    0x188 is the offset for that objects data descriptors, so for example units that would point to CGUnitData descriptors. All the different objects has a pointer to their data descriptors after their vtable pointer afaik.

    [object + 0x188] = CGUnitData
    [object + 0x188] + 0x160 = CGUnitData::Flags3

  3. #3
    scimmy's Avatar Active Member
    Reputation
    17
    Join Date
    Jul 2020
    Posts
    14
    Thanks G/R
    0/8
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ejt View Post
    0x188 is the offset for that objects data descriptors, so for example units that would point to CGUnitData descriptors. All the different objects has a pointer to their data descriptors after their vtable pointer afaik.

    [object + 0x188] = CGUnitData
    [object + 0x188] + 0x160 = CGUnitData::Flags3
    That pointer to the data descriptor is going to always be after the vtable pointer, since the vtable is stored at the first 4/8 bytes depending on arch of the object. Thanks for providing some context about these offsets though

  4. #4
    ejt's Avatar Contributor
    Reputation
    159
    Join Date
    Mar 2008
    Posts
    142
    Thanks G/R
    3/85
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by scimmy View Post
    That pointer to the data descriptor is going to always be after the vtable pointer, since the vtable is stored at the first 4/8 bytes depending on arch of the object. Thanks for providing some context about these offsets though
    As of right now it seems to always come after the vfptr (haven't confirmed all object types but for most objects this is true) however this is not guaranteed to be true in the future although highly likely.

Similar Threads

  1. [Classic]1.13.5.35395 offset Problem
    By Aoooooooo in forum WoW Memory Editing
    Replies: 3
    Last Post: 08-10-2020, 08:19 PM
  2. [Classic] - 1.13.2.30112 - (Beta)
    By Icesythe7 in forum WoW Memory Editing
    Replies: 0
    Last Post: 04-18-2019, 12:26 AM
  3. [Question] Simple bot for right clicking at xyz position Wow classic 1.13/Arctium
    By Andrehoejmark in forum WoW Bots Questions & Requests
    Replies: 2
    Last Post: 02-11-2019, 04:50 AM
  4. WoW Classic 1.13 Sandbox
    By raido in forum World of Warcraft Emulator Servers
    Replies: 1
    Last Post: 10-24-2018, 06:23 PM
  5. [Selling] Level 60 Hunter. Classic Rank 13 Warlord
    By Tschaenter in forum WoW-EU Account Buy Sell Trade
    Replies: 1
    Last Post: 11-04-2013, 03:21 PM
All times are GMT -5. The time now is 09:31 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2020 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search