view Engine/Spells/CastSpellInfo.h @ 2566:30eb6dcac768

big spell fx overhaul
author a.parshin
date Wed, 20 May 2015 21:05:07 +0200
parents 68cdef6879a0
children
line wrap: on
line source

#pragma once

#include <cstdint>
#include <array>

#include "Spells.h"

namespace CastSpellInfoHelpers
{
  void _427D48();
  void _427E01_cast_spell();
};

/*  271 */
#pragma pack(push, 1)
struct CastSpellInfo
{
  //----- (00426987) --------------------------------------------------------
  inline CastSpellInfo()
  {
    memset(this, 0, sizeof(*this));
  }

  struct GUIWindow *GetCastSpellInInventoryWindow();

  uint16_t uSpellID;
  uint16_t uPlayerID;
  uint16_t uPlayerID_2;
  __int16 field_6;
  uint16_t uFlags;
  __int16 forced_spell_skill_level;
  int spell_target_pid;
  int sound_id;
};
#pragma pack(pop)


// flags
#define ON_CAST_WholeParty_BigImprovementAnim 0x0002
#define ON_CAST_TargetCrosshair               0x0008
#define ON_CAST_NoRecoverySpell           0x0020
#define ON_CAST_Telekenesis                   0x0040
#define ON_CAST_Enchantment                   0x0080
#define ON_CAST_MonsterSparkles               0x0100
#define ON_CAST_DarkSacrifice                 0x0200
#define ON_CAST_CastingInProgress (ON_CAST_WholeParty_BigImprovementAnim | ON_CAST_TargetCrosshair | ON_CAST_Telekenesis | ON_CAST_Enchantment | ON_CAST_MonsterSparkles | ON_CAST_DarkSacrifice)
void _42777D_CastSpell_UseWand_ShootArrow(SPELL_TYPE spell, unsigned int uPlayerID, unsigned int a4, __int16 flags, int a6);