I won't let Plastic gain all the glory here :rolleyes:
010 template also in attachment. The structure is missing trap attributes - I didn't care much about those, but you can easily find them out. They probably will be few floats - like trap range and distance, probably duration as well.
If someone is really bored, then he can make enums (i.e. C/S types and clans) so I'll add 'em into this code as well.
Code:
struct Date
{
short year;
short month;
short dayOfWeek;
short day;
short hour;
short minute;
short second;
short ms;
};
struct TrapData
{
char unknown[17]; //to find out
};
struct Effect
{
short id;
short prob;
short value;
};
struct AddEffect
{
short id;
short prob;
short value;
short count;
};
struct XString
{
unsigned char length;
char name[length] <optimize=false>;
};
struct SkillDetail
{
short minAttackDamage;
short maxAttackDamage;
short attackRating;
short avoidRating;
short costForce; //VE?
short costHeart; //HP?
short requiredItemCategory;
short costMind; //?
float finishSpeed;
TrapData trapAttributes;
int skillExp;
int casting;
int delay;
int cooldown;
char requiredMission;
short objectID;
short addBonus;
short number;
short requiredItemID;
short itemConsumed;
short effectCount;
if (effectCount > 0)
{
unsigned short effectTime;
Effect effects[effectCount]<optimize=false>;
}
short addCount;
if (addCount > 0)
{
AddEffect additiveEffects[addCount]<optimize=false>;
}
};
struct Skill
{
short id;
if (id == -1) break;
XString name;
char grade;
char skillCType;
char skillSType;
char actionType;
char usefulType;
char targetType;
char clanType;
char weaponCType;
char weaponSType;
char classGrade; //0, 1st or 2nd role
short requiredSkill1;
short requiredSkill2; //skill IDs
short requiredCondition;
short insideType;
short level;
int contribution; //also - gold for vagabonds
short effectApplyType;
short angle;
char requiredExcer; //?
char martialNumber;
char attackPointFor1;
char attackPointFor2;
char attackPointFor3;
int speed;
char combination;
float distance;
float radius;
float finishAttackRange;
float finishAttackSpeed;
char FERA;
char FERP;
char specialType;
short visualEffect;
short visualEffect2;
short stanceMale;
short stanceFemale;
short motionMale;
short intermotionMale1;
short intermotionMale2;
short motionFemale;
short intermotionFemale1;
short intermotionFemale2;
XString concept;
SkillDetail details[12] <optimize=false>; //info for each cheng
};
char toolname[48];
short ver1;
short ver2;
Date date;
char userName[16];
char companyName[20];
do
{
Skill skill;
}while(skill.id != -1);
If someone is really bored, then he can make enums (i.e. C/S types and clans) so I'll add 'em into this code as well.