view Spells.h @ 483:98f0d3c19de2

Merge
author Nomad
date Tue, 26 Feb 2013 20:30:26 +0200
parents 2bc1c8d68f41
children 7887a9cf9e7b
line wrap: on
line source

#pragma once



/*  360 */
enum SPELL_TYPE
{
  SPELL_FIRE_PROTECTION_FROM_FIRE = 0x3,
  SPELL_FIRE_HASTE = 0x5,
  SPELL_FIRE_FIRE_RING = 0x8,
  SPELL_AIR_FEATHER_FALL = 0xD,
  SPELL_AIR_PROTECTION_FROM_AIR = 0xE,
  SPELL_AIR_SHIELD = 0x11,
  SPELL_WATER_PROTECTION_FROM_WATER = 0x19,
  SPELL_WATER_WATER_WALK = 0x1B,
  SPELL_EARTH_PROTECTION_FROM_EARTH = 0x24,
  SPELL_EARTH_STONESKIN = 0x26,
  SPELL_SPIRIT_DETECT_LIFE = 0x2D,
  SPELL_SPIRIT_BLESS = 0x2E,
  SPELL_SPIRIT_DOOM = 0x2F,
  SPELL_SPIRIT_PRESERVE = 0x32,
  SPELL_SPIRIT_HEROISM = 0x33,
  SPELL_MIND_REMOVE_FEAR = 0x38,
  SPELL_MIND_PROTECTION_FROM_MIND = 0x3A,
  SPELL_MIND_CURE_PARALYSIS = 0x3D,
  SPELL_BODY_CURE_WEAKNESS = 0x43,
  SPELL_BODY_FIRST_AID = 0x44,
  SPELL_BODY_CURE_POISON = 0x48,
  SPELL_BODY_HAMMERHANDS = 0x49,
  SPELL_BODY_CURE_DISEASE = 0x4A,
  SPELL_BODY_PROTECTION_FROM_MAGIC = 0x4B,
  SPELL_DARK_PAIN_REFLECTION = 0x5F,
};


enum SPELL_SCHOOL : int
{
  SPELL_SCHOOL_FIRE =  0,
  SPELL_SCHOOL_AIR  =  1,
  SPELL_SCHOOL_WATER = 2,
  SPELL_SCHOOL_EARTH = 3,
  SPELL_SCHOOL_NONE =  4,
  SPELL_SCHOOL_MAGIC =  5,
  SPELL_SCHOOL_SPIRIT = 6,
  SPELL_SCHOOL_MIND   = 7,
  SPELL_SCHOOL_BODY   = 8,
  SPELL_SCHOOL_LIGHT   = 9,
  SPELL_SCHOOL_DARK =  10
};



/*   68 */
#pragma pack(push, 1)
struct SpellBuff
{
  inline SpellBuff()
  {
    uExpireTime = 0;
    uPower = 0;
    uSkill = 0;
    uOverlayID = 0;
    uCaster = 0;
    uFlags = 0;
  }

  signed int Apply(unsigned __int64 uExpireTime, unsigned __int16 uSkillLevel, unsigned __int16 uPower, int a5, unsigned __int8 a6);
  void Reset();
  signed int _4585CA(__int64 a2);
  bool NotExpired();

  unsigned __int64 uExpireTime;
  unsigned __int16 uPower;
  unsigned __int16 uSkill;
  unsigned __int16 uOverlayID;
  unsigned __int8 uCaster;
  unsigned __int8 uFlags;
};
#pragma pack(pop)


#pragma pack(push, 1)
struct SpellInfo
{
  char *pName;
  char *pShortName;
  char *pDescription;
  char *pBasicSkillDesc;
  char *pExpertSkillDesc;
  char *pMasterSkillDesc;
  char *pGrandmasterSkillDesc;
  SPELL_SCHOOL uSchool;
  int field_20;
};
#pragma pack(pop)



#pragma pack(push, 1)
struct SpellStats
{
  void Initialize();

  SpellInfo pInfos[100];
};
#pragma pack(pop)









/*  364 */
#pragma pack(push, 1)
struct stru324_spell
{
  __int16 uItemType;
  __int16 field_2;
};
#pragma pack(pop)

/*  151 */
#pragma pack(push, 1)
struct SpellData
{
union
	{
  unsigned __int16 mana_per_skill[4];
  struct
	  {
  unsigned __int16 uNormalLevelMana;
  unsigned __int16 uExpertLevelMana;
  unsigned __int16 uMasterLevelMana;
  unsigned __int16 uMagisterLevelMana;
	  };
	};
  unsigned __int16 field_8;
  __int16 field_A;
  __int16 field_C;
  __int16 field_E;
  __int16 field_10;
  __int16 field_12;
 // char field_12;
 // char field_13;
 // __int16 field_14;
};
#pragma pack(pop)

#pragma pack(push, 1)
struct SpellBookIconPos 
{
	unsigned int Xpos;
	unsigned int Ypos;
};

#pragma pack(pop)


extern struct SpellStats *pSpellStats;

extern struct SpellBookIconPos pIconPos[9][12];

extern stru324_spell stru_4E3ACC[];
extern SpellData pSpellDatas[100];