- Main Page
- Classes
- Files

- File List
- File Members

# E:/uas2/Server/Account.h

Go to the documentation of this file.

    00001 /*
    00002 * This file is part of UAS2.
    00003 *
    00004 * UAS2 is free software; you can redistribute it and/or modify
    00005 * it under the terms of the GNU General Public License as published by
    00006 * the Free Software Foundation; either version 2 of the License, or
    00007 * (at your option) any later version.
    00008 *
    00009 * UAS2 is distributed in the hope that it will be useful,
    00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    00012 * GNU General Public License for more details.
    00013
    00014 * You should have received a copy of the GNU General Public License
    00015 * along with UASv1; if not, write to the Free Software
    00016 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    00017 */
    00018
    00024 #ifndef __ACCOUNT_H
    00025 #define __ACCOUNT_H
    00026
    00027 #include <winsock2.h>
    00028
    00029 #define CHARDATA_RACE_ALUVIAN           0x0
    00030 #define CHARDATA_RACE_GHARU                     0x1
    00031 #define CHARDATA_RACE_SHO                       0x2
    00032
    00033 #define CHARDATA_HAIRSTYLE_BUSINESS     0x0
    00034 #define CHARDATA_HAIRSTYLE_PUNK         0x1
    00035 #define CHARDATA_HAIRSTYLE_PONYTAIL 0x2
    00036 #define CHARDATA_HAIRSTYLE_BALD         0x3
    00037
    00038 #define CHARDATA_SEX_FEMALE                     0x0
    00039 #define CHARDATA_SEX_MALE                       0x1
    00040
    00041 #define CHARDATA_STARTINGTOWN_HOLTBURG_SOUTH    0x0
    00042 #define CHARDATA_STARTINGTOWN_HOLTBURG_WEST             0x1
    00043 #define CHARDATA_STARTINGTOWN_SHOUSHI_SOUTHEAST 0x2
    00044 #define CHARDATA_STARTINGTOWN_SHOUSHI_WEST              0x3
    00045 #define CHARDATA_STARTINGTOWN_YARAQ_NORTH               0x4
    00046 #define CHARDATA_STARTINGTOWN_YARAQ_EAST                0x5
    00047
    00048 #define CHARDATA_CLASS_CUSTOM           0x0
    00049 #define CHARDATA_CLASS_BOW_HUNTER       0x1
    00050 #define CHARDATA_CLASS_SWASHBUCKLER     0x2
    00051 #define CHARDATA_CLASS_LIFE_CASTER      0x3
    00052 #define CHARDATA_CLASS_WAR_MAGE         0x4
    00053 #define CHARDATA_CLASS_WAYFARER         0x5
    00054 #define CHARDATA_CLASS_SOLDIER          0x6
    00055
    00056 #define SKILL_AXE                                       0x01
    00057 #define SKILL_BOW                                       0x02
    00058 #define SKILL_CROSSBOW                          0x03
    00059 #define SKILL_DAGGER                            0x04
    00060 #define SKILL_MACE                                      0x05
    00061 #define SKILL_MELEE_DEFENSE                     0x06
    00062 #define SKILL_MISSLE_DEFENSE            0x07
    00063 #define SKILL_SPEAR                                     0x09
    00064 #define SKILL_STAFF                                     0x0A
    00065 #define SKILL_SWORD                                     0x0B
    00066 #define SKILL_THROWN_WEAPONS            0x0C
    00067 #define SKILL_UNARMED_COMBAT            0x0D
    00068 #define SKILL_ARCANE_LORE                       0x0E
    00069 #define SKILL_MAGIC_DEFENSE                     0x0F
    00070 #define SKILL_MANA_CONVERSION           0x10
    00071 #define SKILL_ITEM_TINKERING            0x12
    00072 #define SKILL_ASSESS_PERSON                     0x13
    00073 #define SKILL_DECEPTION                         0x14
    00074 #define SKILL_HEALING                           0x15
    00075 #define SKILL_JUMP                                      0x16
    00076 #define SKILL_LOCKPICK                          0x17
    00077 #define SKILL_RUN                                       0x18
    00078 #define SKILL_ASSESS_CREATURE           0x1B
    00079 #define SKILL_WEAPON_TINKERING          0x1C
    00080 #define SKILL_ARMOR_TINKERING           0x1D
    00081 #define SKILL_MAGIC_ITEM_TINKERING      0x1E
    00082 #define SKILL_CREATURE_ENCHANTMENT      0x1F
    00083 #define SKILL_ITEM_ENCHANTMENT          0x20
    00084 #define SKILL_LIFE_MAGIC                        0x21
    00085 #define SKILL_WAR_MAGIC                         0x22
    00086 #define SKILL_LEADERSHIP                        0x23
    00087 #define SKILL_LOYALTY                           0x24
    00088 #define SKILL_FLETCHING                         0x25
    00089 #define SKILL_ALCHEMY                           0x26
    00090 #define SKILL_COOKING                           0x27
    00091 #define SKILL_SALVAGE                           0x28
    00092
    00098 #pragma pack( push, 1 )
    00099 struct CreateCharacterMessage
    00100 {
    00101         DWORD   dwF656;
    00102 //      DWORD   dwBeefbeef;                             //0xBEEFBEEF always; probably used in place of GUID
    00103         WORD    wLengthOfAccountName;   //Length of the account name
    00104         char    szAccountName[40];              //40 byte account name; zero-filled
    00105 //      DWORD   dwUnk1;
    00106         DWORD   dwValOne;                               //Constant 1
    00107         DWORD   dwRace;                                 //Use CHARDATA_RACE_
    00108         DWORD   dwSex;                                  //Use CHARDATA_SEX_
    00109         DWORD   dwForeheadTexture;              //Value from a race-wide index of texures
    00110         DWORD   dwNoseTexture;                  //Value from a race-wide index of texures
    00111         DWORD   dwChinTexture;                  //Value from a race-wide index of texures
    00112         DWORD   dwHairColor;                    //Value from a race-wide index of colors
    00113         DWORD   dwEyeColor;                             //Value from a race-wide index of colors
    00114         DWORD   dwHairStyle;                    //Use CHARDATA_HAIRSTYLE_
    00115         DWORD   dwHatType;                              //Value from a race-wide index of hat types; 0xFFFFFFFF (-1) means no hat
    00116         DWORD   dwHatColor;                             //Value from a race-wide index of colors
    00117         DWORD   dwShirtType;                    //Value from a race-wide index of shirt types
    00118         DWORD   dwShirtColor;                   //Value from a race-wide index of colors
    00119         DWORD   dwPantsType;                    //Value from a race-wide index of pants
    00120         DWORD   dwPantsColor;                   //Value from a race-wide index of colors
    00121         DWORD   dwShoeType;                             //Value from a race-wide index of shoe types
    00122         DWORD   dwShoeColor;                    //Value from a race-wide index of colors
    00123
    00124         //Values range from 0x0000000000000000 to 3FF0000000000000000 (0-1)
    00125         //Indicate degree of color shading
    00126         double  dblSkinShade;
    00127         double  dblHairShade;
    00128         double  dblHatShade;
    00129         double  dblShirtShade;
    00130         double  dblPantsShade;
    00131         double  dblShoeShade;
    00132
    00133         DWORD   dwProfession;                   //CHARDATA_PROFESSION_
    00134
    00135         DWORD   dwStrength;
    00136         DWORD   dwEndurance;
    00137         DWORD   dwCoordination;
    00138         DWORD   dwQuickness;
    00139         DWORD   dwFocus;
    00140         DWORD   dwSelf;
    00141
    00142         DWORD   dwUnk2;
    00143         DWORD   dwUnk3;
    00144
    00145         DWORD   dwNumSkills;                    //Portal.dat file dependent
    00146         DWORD   dwSkillStatus[0x30];
    00147         // 0 - Skill ID not used
    00148         // 1 - Skill Unusable / Untrained
    00149         // 2 - Skill Trained
    00150         // 3 - Skill Specialized
    00151
    00152         WORD    wNameLength;
    00153         char    szName[40];
    00154         DWORD   dwUnk4;                                 //Always 0xFFFFFFFF?
    00155         DWORD   dwUnk5;                                 //Random value that has ranged from 0x02-0x0C
    00156         DWORD   dwStartingPlace;                //CHARDATA_STARTINGTOWN_
    00157         DWORD   dwUnk6;                                 //Random value that has ranged from 0x53-0x157
    00158 };
    00159 #pragma pack( pop )
    00160
    00164 #pragma pack( push, 1 )
    00165 struct AvatarDeleteMessage
    00166 {
    00167         DWORD dwF655;
    00168 //      DWORD dwBeef;
    00169         WORD wNameLength;
    00170         char szAccountName[40];
    00171 //      DWORD dw74;
    00172         DWORD dwSlot;
    00173 };
    00174 #pragma pack( pop )
    00175
    00176 #endif  // #ifndef __ACCOUNT_H