eqemu-server/zone/lua_spell.h
Michael Cook (mackal) 41352f77ae
[Spells] Implement PVP resist and duration overrides (#1513)
* Make use of PVP resist field

* Implement PVP duration formulas
2021-09-03 20:19:39 -05:00

117 lines
2.5 KiB
C++

#ifndef EQEMU_LUA_SPELL_H
#define EQEMU_LUA_SPELL_H
#ifdef LUA_EQEMU
#include "lua_ptr.h"
struct SPDat_Spell_Struct;
namespace luabind {
struct scope;
}
luabind::scope lua_register_spell();
class Lua_Spell : public Lua_Ptr<const SPDat_Spell_Struct>
{
typedef const SPDat_Spell_Struct NativeType;
public:
Lua_Spell(int id);
Lua_Spell() : Lua_Ptr(nullptr) { }
Lua_Spell(const SPDat_Spell_Struct *d) : Lua_Ptr(d) { }
virtual ~Lua_Spell() { }
operator const SPDat_Spell_Struct*() {
return reinterpret_cast<const SPDat_Spell_Struct*>(GetLuaPtrData());
}
int GetID();
const char *GetName();
const char *GetPlayer1();
const char *GetTeleportZone();
const char *GetYouCast();
const char *GetOtherCasts();
const char *GetCastOnYou();
const char *GetCastOnOther();
const char *GetSpellFades();
float GetRange();
float GetAoeRange();
float GetPushBack();
float GetPushUp();
uint32 GetCastTime();
uint32 GetRecoveryTime();
uint32 GetRecastTime();
uint32 GetBuffdurationFormula();
uint32 GetBuffDuration();
uint32 GetAEDuration();
int GetMana();
int GetBase(int i);
int GetBase2(int i);
int GetMax(int i);
int GetComponents(int i);
int GetComponentCounts(int i);
int GetNoexpendReagent(int i);
int GetFormula(int i);
int GetGoodEffect();
int GetActivated();
int GetResistType();
int GetEffectID(int i);
int GetTargetType();
int GetBaseDiff();
int GetSkill();
int GetZoneType();
int GetEnvironmentType();
int GetTimeOfDay();
int GetClasses(int i);
int GetCastingAnim();
int GetSpellAffectIndex();
int GetDisallowSit();
int GetDeities(int i);
int GetUninterruptable();
int GetResistDiff();
int GetRecourseLink();
int GetShortBuffBox();
int GetDescNum();
int GetEffectDescNum();
int GetBonusHate();
int GetEndurCost();
int GetEndurTimerIndex();
int GetHateAdded();
int GetEndurUpkeep();
int GetNumHits();
int GetPVPResistBase();
int GetPVPResistCalc();
int GetPVPResistCap();
int GetSpellCategory();
int GetPVPDuration();
int GetPVPDurationCap();
int GetCanMGB();
int GetDispelFlag();
int GetMinResist();
int GetMaxResist();
int GetViralTargets();
int GetViralTimer();
int GetNimbusEffect();
float GetDirectionalStart();
float GetDirectionalEnd();
int GetSpellGroup();
int GetPowerfulFlag();
int GetCastRestriction();
bool GetAllowRest();
bool GetInCombat();
bool GetOutOfCombat();
int GetAEMaxTargets();
int GetMaxTargets();
bool GetPersistDeath();
float GetMinDist();
float GetMinDistMod();
float GetMaxDist();
float GetMaxDistMod();
float GetMinRange();
int GetDamageShieldType();
int GetRank();
};
#endif
#endif