Unit Data Structure

by Dale M.A. Johnson


created 9/16/06


This is an overview of the intended structure for units.


The Structure and Its Members

The data for unit classes are stored in CUnits and accessed using the object handle unit[#].member. There can be up to 500 units at any given time. Each unit has the following information stored for it.




string tName
The name of the unit.
BITMAP mBitmap
The actual bitmap image of the unit.
int iClass
The unit's class.
int iFaction
Which faction this unit is a member of.




int iLocX
The unit's location (in tiles) on the x axis.
int iLocY
The unit's location (in tiles) on the y axis.
int iX
The unit's location (in pixels) on the x axis.
int iY
The unit's location (in pixels) on the y axis.
int iMoves
How many movement points this unit has left.
int iCondition
What condition this unit is in. 0 = normal.
int iConTurns
How many more turns this unit's condition will last.
int iInv[#]
What item is in each of the unit's item slots.
bool bEquip[#]
Whether the item in each slot is equiped.




int iLev
This unit's current level.
int iHP
This unit's current hit points.
int iMP
This unit's current magic points.
int iMaxHP
Current max hit points.
int iMaxMP
Current max magic points.
int iSTR
Current strength.
int iMAG
Current magic.
int iDEF
Current defense.
int iRES
Current resistance.
int iSKL
Current skill.
int iSPD
Current speed.
int iLUK
Current luck.
int iCON
Current constitution.
int iMOV
Current movement points.
int iNear
The closest point (in tiles) this unit can attack when unarmed. 0 means they cannot attack unarmed.
int iRange
The range (in tiles) that this unit can attack, starting from the iNear point. 0 means they have a range of 1 tile, the iNear tile.


Growth Rates


int iGHP
Hit point growth.
int iGMP
Magic point growth.
int iGSTR
Strength growth.
int iGMAG
Magic growth.
int iGDEF
Defense growth.
int iGRES
Resistance growth.
int iSKL
Skill growth.
int iSPD
Speed growth.
int iGLUK
Luck growth.
int iGCON
Constitution growth.
int iMOV
Movement points growth.