STRING 18;STRING 18;TINY;TINY;BYTE;DWORD;BYTE;BYTE;TINY;TINY;BYTE;WORD;WORD;WORD;TINY;BYTE;FLOAT;BYTE;TINY;SHORT;TINY;TINY;TINY;TINY;TINY;TINY;
TABLEID 1
ABLT_NONE=       0
ABLT_SPELL=      1
ABLT_RMAXHP=     2
ABLT_RMAXSP=     3
ABLT_GEXP=       4
ABLT_LAGE=       5
ABLT_RSOUL=      6
ABLT_RHP=        7
ABLT_RSP=        8
ABLT_RATTRIB=    9
ABLT_CHEALTH=    11
ABLT_RSTAT=      12
EXST_BREAK=      0
EXST_NOTHNG=     1
EXST_RECHRG=     2
EXST_DEAD=       3
EXST_ASHES=      4
EXST_DELETE=     5
EXST_RAGE=       6
EXST_LMAXHP=     7
EXST_LMAXSP=     8
EXST_LEXP=       9
EXST_LSTR=       10
EXST_LDEX=       11
EXST_LEND=       12
EXST_LINT=       13
EXST_LCUN=       14
EXST_LWIL=       15
EXST_LLUCK=      16
EXST_LSOUL=      17
EXST_RNDHLT=    18
DRWB_NONE=       0
DRWB_RAGE=       1
DRWB_LMAXHP=     2
DRWB_LMAXSP=     3
DRWB_LEXP=       4
DRWB_LSTR=       5
DRWB_LDEX=       6
DRWB_LEND=       7
DRWB_LINT=       8
DRWB_LCUN=       9
DRWB_LWIL=       10
DRWB_LLUCK=      11
DRWB_LSOUL=      12
DRWB_RNDHLT=    13
AUTA_NONE=       0
AUTA_RHP=        1
AUTA_RMHP=       2
AUTA_DHP=        3
AUTA_DMHP=       4
AUTA_RSP=        5
AUTA_RMSP=       6
AUTA_DSP=        7
AUTA_DMSP=       8
AUTA_RNDHLT=     9
AUTA_CHEALT=     10
AUTA_REXP=       11
AUTA_DEXP=       12
AUTA_RSOUL=      13
AUTA_DSOUL=      14
AUTA_RAGE=       15
HLTE_NONE=       0
HLTE_SLEEP=      1
HLTE_PRLYZ=      2
HLTE_PTRFY=      4
HLTE_RESRV1=     8
HLTE_POISON=     16
HLTE_BLIND=      32
HLTE_CRIPLE=     64
HLTE_RESRV3=     128
HLTE_FEAR=       256
HLTE_CURSE=      512
HLTE_SEAL=       1024
HLTE_DOOM=       2048
HLTE_FADE=       4096
HLTE_RESRV5=     8192
HLTE_RESRV6=     16384
HLTE_RESRV7=     32768
EEFC_NONE=       0
ELME_LIFE=       1
ELME_WATER=      2
ELME_AIR=        4
ELME_DEATH=      8
ELME_FIRE=       16
ELME_EARTH=      32
ELME_DRAGON=     64
ELME_UNDEAD=     128
ELME_MYTHIC=     256
ELME_DIVINE=     512
ELME_DIRE=       1024
ELME_MAGIC=      2048
ELME_WERE=       4096
ELME_RESRV1=     8192
ELME_RESRV2=     16384
ELME_RESRV3=     32768
IDTF_ALL=        255
IDTF_NONE=       0
IDTF_NAME=       1
IDTF_STAT=       2
IDTF_STTUS=      4
IDTF_EFFCT=      8
IDTF_ABLTY=      16
IDTF_DRWBK=      32
TYPE_WEAPON=     0
TYPE_SHIELD=     1
TYPE_ARMOR=      2
TYPE_ACCESSORY=  3
TYPE_EXPANDABLE= 4
TYPE_OTHER=      5
STAT_NORML=     0
STAT_FINE=      1
STAT_ENCHT=     2
STAT_FENCH=     3
STAT_CURSE=     4
STAT_ARTFC=     8
STAT_UNIQU=     16
STAT_FOUND=     32
MGKP_NONE=      0
MGKP_ELMKIL=    1
MGKP_DEATH=     2
MGKP_ASHES=     4
MGKP_DELETE=    8
MGKP_SOULDR=    16
MGKP_LIFEDR=    32
MGKP_RSRVE2=    64
MGKP_RSRVE3=    128
MGKP_RSRVE4=    256
MGKP_WIMUNE=    512
MGKP_MIMUNE=    1024
MGKP_RSRVE8=    2048
MGKP_RSRVE9=    4096
MGKP_RSRVEA=    8192
MGKP_RSRVEB=    16384
MGKP_RSRVEC=    32768
LOC_WEAPON=     0
LOC_SHIELD=     1
LOC_ARMOR=      2
LOC_HEAD=       3
LOC_HAND=       4
LOC_FEET=       5
LOC_OTHER=      6
LOC_NOLOC=      7
ACAT_NONE=      0
ACAT_LIGHT=     1
ACAT_MEDIUM=    2
ACAT_HEAVY=     3
<ENDSTRING>
//name             fname                     type Location       ablt-type ablt-val ablt-exhaust a-drawback mxchg #chrg Autoabilit      hltefct     elmefct     mgkprop key identify weight status rarity price    Category  PD  AD  DR MPD MDR
Robes             ;?Clothes          ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;    2;STAT_NORML;  1;   20;  ACAT_NONE;  0;  0;  1;  0;  0;
Hard Leather      ;?Leather          ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;    4;STAT_NORML;  1;   40;  ACAT_NONE;  1; -1;  2;  0;  0;
Studded Leather   ;?Leather          ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;    8;STAT_NORML;  1;   80; ACAT_LIGHT;  2; -2;  3;  0;  0;
Leather Armor     ;?Leather          ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;   12;STAT_NORML;  1;  100; ACAT_LIGHT;  3; -3;  2;  0;  0;
Ring Mail         ;?Mail             ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;    6;STAT_NORML;  1;   80; ACAT_LIGHT;  2; -2;  4;  0;  0;
Scale Mail        ;?Mail             ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;   14;STAT_NORML;  1;  140;ACAT_MEDIUM;  4; -3;  4;  0;  0;
Improved Mail     ;?Mail             ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;   18;STAT_NORML;  1;  180;ACAT_MEDIUM;  4; -3;  5;  0;  0;
Chain Armor       ;?Mail             ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;   20;STAT_NORML;  1;  200;ACAT_MEDIUM;  6; -4;  4;  0;  0;
Breast Plate      ;?Plate            ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;   10;STAT_NORML;  1;  120;ACAT_MEDIUM;  3; -3;  6;  0;  0;
Plate & Chain     ;?Plate            ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;   16;STAT_NORML;  1;  200; ACAT_HEAVY;  5; -4;  5;  0;  0;
Plate Mail        ;?Plate            ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;   20;STAT_NORML;  1;  220; ACAT_HEAVY;  6; -5;  6;  0;  0;
Full Plate        ;?Plate            ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;   28;STAT_NORML;  1;  300; ACAT_HEAVY;  9; -5;  6;  0;  0;
<ENDDATA>

Robes  Curses   ;?Clothes          ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_DEXP;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;    4;STAT_CURSE;  100;  ACAT_NONE;  0;  0;  0;  0;  0;
Garb  Lords     ;?Clothes          ; TYPE_ARMOR;LOC_ARMOR;      ABLT_RHP;     150; EXST_NOTHNG;  DRWB_NONE;   8;    8;  AUTA_GEXP;       7967;       7128;  MGKP_NONE; -1;IDTF_ALL;    5;STAT_ARTFC;  500;  ACAT_NONE;  0;  0;  0;  0;  0;
Shiny Chain       ;?Mail             ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;   11; STAT_FINE;  250;  ACAT_NONE;  0;  0;  0;  0;  0;
Armor  Knights  ;?Plate            ; TYPE_ARMOR;LOC_ARMOR;      ABLT_RHP;      40; EXST_RECHRG;  DRWB_NONE;   5;    5;AUTA_CHEALT;        769;        960;  MGKP_NONE; -1;IDTF_ALL;   22;STAT_ARTFC; 2600;  ACAT_NONE;  0;  0;  0;  0;  0;
Silver Mail       ;?Mail             ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;  10;   10;  AUTA_NONE;  HLTE_SEAL; ELME_MAGIC;  MGKP_NONE; -1;IDTF_ALL;   12;STAT_FENCH; 1000;  ACAT_NONE;  0;  0;  0;  0;  0;
Emerald Robes     ;?Clothes          ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;   AUTA_RSP;  HLTE_NONE;         63;  MGKP_NONE; -1;IDTF_ALL;    2;STAT_FENCH;  300;  ACAT_NONE;  0;  0;  0;  0;  0;
Sturdy Plate      ;?Plate            ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;HLTE_CRIPLE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;   10;STAT_FENCH;  600;  ACAT_NONE;  0;  0;  0;  0;  0;
Elven Chain       ;?Mail             ; TYPE_ARMOR;LOC_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MGKP_NONE; -1;IDTF_ALL;   14;STAT_FENCH;  800;  ACAT_NONE;  0;  0;  0;  0;  0;
Scarlet Robes     ;?Clothes          ; TYPE_ARMOR;LOC_ARMOR;   ABLT_RMAXSP;      15;   EXST_LINT; DRWB_LSOUL;   6;    6;  AUTA_NONE;       6920;       2595;  MGKP_NONE; -1;IDTF_ALL;    2;        12;  600;  ACAT_NONE;  0;  0;  0;  0;  0;
<ENDDATA>


// Upgrade to add in the future

Robe of curses : If possible, add cursed status permanently
Silver Mail : Add a resis magic spell

// old stuff

Dragon Scale      ;?Plate            ; TYPE_ARMOR;     ABLT_NONE;       0;      0; EXST_NOTHING;   AUTA_NONE;  EFCT_NONE;    0; FALSE; -1;IDTF_ALL;    14; STAT_ARTIFACT; 4000;    13;  25;     0;     4;   25;  70;  70;  70;   0;   0;  15;  13;  13;   0;   0;
Runed Leather     ;?Leather          ; TYPE_ARMOR;     ABLT_NONE;       0;      0; EXST_NOTHING;   AUTA_NONE;  EFCT_NONE;    0; FALSE; -1;IDTF_ALL;    10; STAT_ARTIFACT; 1000;     8;  20;    10;     8;   40;  25;  25;  25;  25;  25;   4;   4;   4;   4;   4;
Robe  Weakness  ;?Clothes          ; TYPE_ARMOR;     ABLT_NONE;       0;      0; EXST_NOTHING;    AUTA_DHP;  EFCT_NONE;    0;  TRUE; -1;IDTF_ALL;     4; STAT_ARTIFACT;  200;     5;   5;   -10;    -2;    5; -10; -10; -10; -10; -10;  -2;  -2;  -2;  -2;  -2;

Lich Robes        ;?Clothes          ; TYPE_ARMOR;     ABLT_NONE;       0; EXST_NOTHNG;  DRWB_NONE;   0;    0;  AUTA_NONE;  HLTE_NONE;  ELME_NONE;  MOPR_NONE;  MDPR_NONE; -1;IDTF_ALL;    2;STAT_NORML;   20;   0;   0;   0;   0;

typedef struct dbs_Item_ability
{
   byte type a_packed;
   dword value a_packed;
   byte exhausted a_packed; // result when all charges used
   byte drawback a_packed; // result when using a charge beside the ability.
   tiny max_charge a_packed;   
   tiny nb_charge a_packed;   
}dbs_Item_ability a_packed;

typedef struct dbs_Item
{
   char name [ Item_NAME_SIZE + 1 ] a_packed;
   char fname [ Item_NAME_SIZE + 1 ] a_packed;
   tiny type a_packed;
   tiny location a_packed;
   dbs_Item_ability ability a_packed;
   byte autoability a_packed;
   word hlteffect a_packed;
   word elmeffect a_packed;
   word magikproperty a_packed;
   tiny key a_packed;
   byte identification a_packed;
   float weight a_packed;
   byte status a_packed;
   short price a_packed;
}dbs_Item a_packed;

typedef struct dbs_Armor
{
   dbs_Item item_data a_packed;
   tiny category a_packed;   
   tiny PD a_packed;
   tiny AD a_packed;
   tiny DR a_packed;
   tiny MPD a_packed;
   tiny MDR a_packed;
}dbs_Armor a_packed;














