Guest User


a guest
Dec 28th, 2011
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. struct AgentStruct = {
  2.     void* vtable;               //pointer: 4 bytes
  3.     byte unknown1[24];
  4.     byte unknown2[4];           //This actually points to the agent before but with a small offset
  5.     AgentStruct* NextAgent;     //pointer: 4 bytes. Pointer to the next agent (by id)
  6.     byte unknown3[8];
  7.     double Id;                  //AgentId
  8.     float Z;                    //Z coord in float
  9.     byte unknown4[8];
  10.     float BoxHoverWidth;        //Width of the model's box
  11.     float BoxHoverHeight;       //Height of the model's box
  12.     byte unknown5[8];
  13.     float Rotation;             //Rotation in radians from East (-pi to pi)
  14.     byte unknown6[8];
  15.     double NameProperties;      //Bitmap basically telling what the agent is
  16.     byte unknown7[24];
  17.     float X;                    //X coord in float
  18.     float Y;                    //Y coord in float
  19.     byte unknown8[8];
  20.     float NameTagX;             //Exactly the same as X above
  21.     float NameTagY;             //Exactly the same aswell
  22.     float NameTagZ;             //Z coord in float (actually negated)
  23.     byte unknown9[12];
  24.     double Type;                //0xDB = players, npc's, monsters etc. 0x200 = signpost/chest/object (unclickable). 0x400 = item to pick up
  25.     float MoveX;                //If moving, how much on the X axis per second
  26.     float MoveY;                //If moving, how much on the Y axis per second
  27.     byte unknown10[40];
  28.     double ExtraType;
  29.     byte unknown11[24];
  30.     float WeaponAttackSpeed;    //The base attack speed in float of last attacks weapon. 1.33 = axe, sword, daggers etc.
  31.     float AttackSpeedModifier;  //Attack speed modifier of the last attack. 0.67 = 33% increase (1-.33)
  32.     word PlayerNumber;          //Selfexplanatory. All non-players have identifiers for their type. Two of the same mob = same number
  33.     byte unknown12[6];
  34.     void* Equip;                // "Equipment** Equip;" <- second lvl pointer?
  35.     byte unknown13[10];
  36.     byte Primary;               //Primary profession 0-10 (None,W,R,Mo,N,Me,E,A,Rt,P,D)
  37.     byte Secondary;             //Secondary profession 0-10 (None,W,R,Mo,N,Me,E,A,Rt,P,D)
  38.     byte Level;                 //Duh!
  39.     byte TeamId;                //0=None, 1=Blue, 2=Red, 3=Yellow
  40.     byte unknown14[14];
  41.     float Energy;               //Only works for yourself
  42.     double MaxEnergy;           //Only works for yourself
  43.     byte unknown15[4];
  44.     float HPPips;               // Regen/degen as float. Is not actually pips but the proportion of total health increase per second = (regenpips*2)/maxhealth
  45.     byte unknown16[4];          //Offset +0x130
  46.     float HP;                   //Health in interval [0,1] where 1 = fullhealth, 0 = no health
  47.     double MaxHP;               //Only works for yourself or heroes, or another agent to which you have dealt damage
  48.     double Effects;             //Bitmap for effects to display when targetted. DOES include hexes
  49.     byte unknown17[4];
  50.     byte Hex;                   //Bitmap for the hex effect when targetted (apparently obsolete!)
  51.     byte unknown18[18];
  52.     double ModelState;          //Different values for different states of the model.
  53.     double TypeMap;             //Odd variable! 0x08 = dead, 0xC00 = boss, 0x40000 = spirit, 0x400000 = player
  54.     byte unknown19[16];
  55.     double InSpiritRange;       //Tells if agent is within spirit range of you. Doesn't work anymore?
  56.     byte unknown20[16];
  57.     double LoginNumber;         //Unique number in instance that only works for players
  58.     float ModelMode;            //Float for the current mode the agent is in. Varies a lot
  59.     byte unknown21[4];          // also seems to be related to model animations
  60.     double ModelAnimation;      //Id of the current animation
  61.     byte unknown22[32];
  62.     byte LastCombo;             //Last successfully used Assassin Combo Type: 0x0 = no attack, 0x1 = Lead, 0x2 = Off-Hand, 0x3 = Dual
  63.     byte Allegiance;            //0x1 = ally/non-attackable, 0x3 = enemy, 0x4 = spirit/pet, 0x5 = minion, 0x6 = npc/minipet
  64.     word WeaponType;            //1=bow, 2=axe, 3=hammer, 4=daggers, 5=scythe, 6=spear, 7=sword, 8=chaos staff/wand, 9=cold, 10=dark, 11=earth, 12=lightning, 13=fire, 14=holy. Other values appear such as commonly 512, meaning of this is unknown
  65.     word Skill;                 //0 = not using a skill. Anything else is the Id of that skill
  66.     byte unknown23[4];
  67.     word WeaponItemId;
  68.     word OffhandItemId;
  69. } ;
RAW Paste Data