<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT Character_Description (Character_Type, Character_ID, Data_Root_Directory, Coords?, Allowed_Area?, Default_Sprite, Default_Collision_Box, Characteristics, Attitudes?, Attack_Styles)>
<!ELEMENT Character_Type (#PCDATA)> <!-- Player | NPC | Monster -->
<!ELEMENT Character_ID (#PCDATA)> <!-- Humanoid | Crawler | Undead | ... -->
<!ELEMENT Data_Root_Directory (#PCDATA)>
<!ELEMENT Coords (Position+)>
<!ELEMENT Position (Initial_X, Initial_Y)>
<!ELEMENT Initial_X (#PCDATA)>
<!ELEMENT Initial_Y (#PCDATA)>
<!ELEMENT Allowed_Area (Allowed_Area_X, Allowed_Area_Y, Allowed_Area_W, Allowed_Area_H)>
<!ELEMENT Allowed_Area_X (#PCDATA)>
<!ELEMENT Allowed_Area_Y (#PCDATA)>
<!ELEMENT Allowed_Area_W (#PCDATA)>
<!ELEMENT Allowed_Area_H (#PCDATA)>
<!ELEMENT Default_Sprite (Default_Sprite_Width, Default_Sprite_Height)>
<!ELEMENT Default_Sprite_Width (#PCDATA)>
<!ELEMENT Default_Sprite_Height (#PCDATA)>
<!ELEMENT Default_Collision_Box (X_Modifier, Y_Modifier, CB_Width, CB_Height)>
<!ELEMENT X_Modifier (#PCDATA)>
<!ELEMENT Y_Modifier (#PCDATA)>
<!ELEMENT CB_Width (#PCDATA)>
<!ELEMENT CB_Height (#PCDATA)>
<!ELEMENT Characteristics (Basics, Attributes?, Bonuses?)>
<!ELEMENT Basics (Velocity, Run_Velocity?, Life, Endurance?, Armor, Damage)>
<!ELEMENT Velocity (#PCDATA)>  <!-- in px/frame -->
<!ELEMENT Run_Velocity (#PCDATA)> <!-- Needed if running only -->
<!ELEMENT Life (#PCDATA)>
<!ELEMENT Armor (#PCDATA)>
<!ELEMENT Damage (#PCDATA)>
<!ELEMENT Endurance (#PCDATA)> <!-- Needed if running only -->
<!ELEMENT Attributes (STR, DEX, INT, CHAR, LUCK)> <!-- not used for now -->
<!ELEMENT STR (#PCDATA)>
<!ELEMENT DEX (#PCDATA)>
<!ELEMENT INT (#PCDATA)>
<!ELEMENT CHAR (#PCDATA)>
<!ELEMENT LUCK (#PCDATA)>
<!ELEMENT Bonuses (Velocity_Bonus?, Life_Bonus?, Armor_Bonus?, Damage_Bonus?)> <!-- not used for now -->
<!ELEMENT Velocity_Bonus (#PCDATA)>
<!ELEMENT Life_Bonus (#PCDATA)>
<!ELEMENT Armor_Bonus (#PCDATA)>
<!ELEMENT Damage_Bonus (#PCDATA)>
<!ELEMENT Attitudes (Default_Attitude, Attitude_Vs_PB?, Attitude_Vs_MB?, Attitude_When_Attacked?, Attitude_Position_List*)> <!-- There MUST BE as many Attitude_Position_List as there are Coords/Position -->
<!ELEMENT Default_Attitude (#PCDATA)> <!-- Wanderer | Guard | Passive | Aggressive | Coward -->
<!ELEMENT Attitude_Vs_PB (#PCDATA)> <!-- Wanderer | Aggressive | Coward -->
<!ELEMENT Attitude_Vs_MB (#PCDATA)> <!-- Wanderer | Aggressive | Coward -->
<!ELEMENT Attitude_When_Attacked (#PCDATA)> <!-- Aggressive | Coward | Passive -->
<!ELEMENT Attitude_Position_List (Attitude_Position_Coord*)> <!-- The initial position list shouldnt be the initial position as it will be added automatically. So if empty there wont be any movement from the initial  -->
<!ELEMENT Attitude_Position_Coord (Attitude_Position_Coord_X, Attitude_Position_Coord_Y)>
<!ELEMENT Attitude_Position_Coord_X (#PCDATA)>
<!ELEMENT Attitude_Position_Coord_Y (#PCDATA)>
<!ELEMENT Attack_Styles (Primary_Style, Secondary_Style?)>
<!ELEMENT Primary_Style (Primary_Attack_Animation_Center_Filename, Primary_Attack_Style)>
<!ELEMENT Primary_Attack_Animation_Center_Filename (#PCDATA)>
<!ELEMENT Primary_Attack_Style (#PCDATA)> <!-- Unarmed | Melee | Distant (In This Case There Must Be A Secondary Style !)  -->
<!ELEMENT Secondary_Style (Secondary_Attack_Animation_Center_Filename, Secondary_Attack_Style)>
<!ELEMENT Secondary_Attack_Animation_Center_Filename (#PCDATA)>
<!ELEMENT Secondary_Attack_Style (#PCDATA)> <!-- Unarmed | Melee | Multiple (Only For Player. This Means The Filename Defined More Than One Style)  -->
