Mercurial > mm7
diff Spells.h @ 0:9c0607679772
init
author | Ritor1 |
---|---|
date | Sat, 12 Jan 2013 09:45:18 +0600 |
parents | |
children | 038a4d09406f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Spells.h Sat Jan 12 09:45:18 2013 +0600 @@ -0,0 +1,136 @@ +#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]; \ No newline at end of file