Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
SpellCalculations.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef SF_SPELLCALCULATIONS_H
7#define SF_SPELLCALCULATIONS_H
8
9#include "SharedDefines.h"
10
11namespace Skyfire
12{
13namespace Spells
14{
21
33
40
51
58
59 int32 CalculateBaseCastTime(uint8 level, int32 castTimeMin, int32 castTimeMax, int32 castTimeMaxLevel, int32 fallbackCastTime);
60 uint32 FinalizeCastTime(int32 castTime, bool addRangedAmmoDelay);
62 int32 CalculateDuration(bool hasDurationEntry, int32 duration);
63 uint32 CalculateMaxTicks(int32 duration, SpellTickEffectInfo const* effects, uint32 effectCount);
66 float SelectSpellRange(bool hasRangeEntry, float friendRange, float hostileRange, bool positive);
67 uint32 CalculateRecoveryTime(uint32 recoveryTime, uint32 categoryRecoveryTime);
69}
70}
71
72#endif
std::int32_t int32
Definition Define.h:73
std::uint8_t uint8
Definition Define.h:79
std::uint32_t uint32
Definition Define.h:77
uint32 CalculateMaxTicks(int32 duration, SpellTickEffectInfo const *effects, uint32 effectCount)
@ SPELL_POWER_COST_UNSUPPORTED_POWER_TYPE
int32 CalculateBaseCastTime(uint8 level, int32 castTimeMin, int32 castTimeMax, int32 castTimeMaxLevel, int32 fallbackCastTime)
uint32 CalculateRecoveryTime(uint32 recoveryTime, uint32 categoryRecoveryTime)
int32 CalculateDuration(bool hasDurationEntry, int32 duration)
SpellPowerCostCalculationResult CalculateSpellPowerCosts(SpellPowerCostCalculationData const &data)
float SelectSpellRange(bool hasRangeEntry, float friendRange, float hostileRange, bool positive)
float CalculateRadius(SpellRadiusCalculationData const &data)
uint32 FinalizeCastTime(int32 castTime, bool addRangedAmmoDelay)
int32 CalculateEffectBaseValue(int32 value, int32 dieSides)
int32 NormalizeDurationValue(int32 duration)