No players online 

You are not logged in.

#1 2005-05-25 23:04:39

Archi
Administrator
Registered: 2005-02-21

DEMISEMonsters.DED

DEMISEMonsters.DED

C++ code, char(1 byte), short(2 bytes), int(4 bytes), float(4 bytes).

Ignore first 12 bytes. Next is "file version", "file revision" and "number of monsters". Then "number of monsters" times the monster structure which can be seen below.

Code:

char cHeader[12];       // header
char cVersion[8];       // file version
short iRev;             // file revision
short iMonsters;        // number of monsters

typedef struct mon {
   short iNameL;           // name size
   short iNameL2;          // name size again
   char* pName;            // name
   short iAttack;
   short iDefense;
   short iU2;
   short iHP;              // hit points
   char cGroups;           // number of groups
   char cU5[5];
   char cFLevel;           // find level
   char cTrapP;            // trap %
   short iReFire;          // resists
   short iReCold;
   short iReElectrical;
   short iReMind;
   short iReDisease;
   short iRePoison;
   short iReMagic;
   short iReStone;
   short iReParalysis;
   short iReDrain;
   short iReAcid;
   char cU7[2];
   float fAbSeeInvisible;     // abilities
   float fAbInvisible;
   float fAbResistMagicAll;
   float fAbResistCharm;
   float fAbResistWeapon;
   float fAbResistCWeapon;
   char cU8[4];
   float fAtPoison;
   float fAtDisease;
   float fAtParalyze;
   float fAtBreathFire;
   float fAtBreathCold;
   float fAtSpitAcid;
   float fAtElectrocute;
   float fAtDrain;
   float fAtStone;
   float fAtAge;
   float fAtCriticalHit;
   float fAtBackstab;
   float fAtDestroyItem;
   float fAtSteal;
   float fAtBehead;
   char cU9[4];
   short iSpFire;       // spells
   short iSpCold;
   short iSpElectrical;
   short iSpMind;
   short iSpDamage;
   short iSpElement;
   short iSpKill;
   short iSpCharm;
   short iSpBind;
   short iSpHeal;
   short iSpMovement;
   short iSpBanish;
   short iSpDispell;
   short iSpResistant;
   short iSpVisual;
   short iSpMagical;
   short iSpLocation;
   short iSpProtection;
   short iSpMDamage;
   short iSpMDeath;
   short iSpMAlchemy;
   short iSpMHealing;
   short iSpMMovement;
   char cU10[2];
   float fRadius;       // size; very small = 0.09, small = 0.18....
   char cU3[8];
   char cAlignment;
   char cU11;
   char cNumber;
   char cU6;
   int iMoney;
   char cU4[4];
   short iCLevel;
   short iStr;
   short iInt;
   short iWis;
   short iCon;
   short iCha;
   short iDex;
   char cU13[2];
   short iClass;
   char cU12[12];
   short iBreath;       // 0 = air, 1 = water, 2 = both
   char cU1[96];
} mon;

Offline

 
 
Copyright © 2000-2006 dtr-dojo.com. All rights reserved.