view Spells.h @ 145:bd185c7cbd09

11.02.13
author Ritor1
date Mon, 11 Feb 2013 09:07:47 +0600
parents 9c0607679772
children 038a4d09406f
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,
};




/*   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;
  unsigned int 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
{
  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;
  char field_12;
  char field_13;
  __int16 field_14;
};
#pragma pack(pop)




extern struct SpellStats *pSpellStats;


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