mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 17:51:28 +00:00
* [Quest API] Add ItemData Class to Perl - Add `$questitem->GetItem()`. - Add `$questitem->GetUnscaledItem()`. - Add `$questitemdata->GetAGI()`. - Add `$questitemdata->GetAC()`. - Add `$questitemdata->GetCHA()`. - Add `$questitemdata->GetDEX()`. - Add `$questitemdata->GetINT()`. - Add `$questitemdata->GetSTA()`. - Add `$questitemdata->GetSTR()`. - Add `$questitemdata->GetAWis()`. - Add `$questitemdata->GetAccuracy()`. - Add `$questitemdata->GetArtifactFlag()`. - Add `$questitemdata->GetAttack()`. - Add `$questitemdata->GetAttuneable()`. - Add `$questitemdata->GetAugmentDistiller()`. - Add `$questitemdata->GetAugmentRestrict()`. - Add `$questitemdata->GetAugmentSlotType(slot_id)`. - Add `$questitemdata->GetAugmentSlotUnk2(slot_id)`. - Add `$questitemdata->GetAugmentSlotVisible(slot_id)`. - Add `$questitemdata->GetAugmentType()`. - Add `$questitemdata->GetAvoidance()`. - Add `$questitemdata->GetBackstabDamage()`. - Add `$questitemdata->GetBagSize()`. - Add `$questitemdata->GetBagSlots()`. - Add `$questitemdata->GetBagType()`. - Add `$questitemdata->GetBagWeightReduction()`. - Add `$questitemdata->GetBaneDamageAmount()`. - Add `$questitemdata->GetBaneDamageBody()`. - Add `$questitemdata->GetBaneDamageRace()`. - Add `$questitemdata->GetBaneDamageRaceAmount()`. - Add `$questitemdata->GetBardEffect()`. - Add `$questitemdata->GetBardLevel()`. - Add `$questitemdata->GetBardLevel2()`. - Add `$questitemdata->GetBardType()`. - Add `$questitemdata->GetBardSkillType()`. - Add `$questitemdata->GetBardSkillValue()`. - Add `$questitemdata->GetBenefitFlag()`. - Add `$questitemdata->GetBook()`. - Add `$questitemdata->GetBookType()`. - Add `$questitemdata->GetCR()`. - Add `$questitemdata->GetCastTime()`. - Add `$questitemdata->GetCastTime_()`. - Add `$questitemdata->GetCharmFile()`. - Add `$questitemdata->GetCharmFileID()`. - Add `$questitemdata->GetClairvoyance()`. - Add `$questitemdata->GetClasses()`. - Add `$questitemdata->GetClickName()`. - Add `$questitemdata->GetClickEffect()`. - Add `$questitemdata->GetClickLevel()`. - Add `$questitemdata->GetClickLevel2()`. - Add `$questitemdata->GetClickType()`. - Add `$questitemdata->GetColor()`. - Add `$questitemdata->GetCombatEffects()`. - Add `$questitemdata->GetCorruption()`. - Add `$questitemdata->GetDR()`. - Add `$questitemdata->GetDSMitigation()`. - Add `$questitemdata->GetDamage()`. - Add `$questitemdata->GetDamageShield()`. - Add `$questitemdata->GetDeity()`. - Add `$questitemdata->GetDelay()`. - Add `$questitemdata->GetDOTShielding()`. - Add `$questitemdata->GetElementalDamageAmount()`. - Add `$questitemdata->GetElementalDamageType()`. - Add `$questitemdata->GetEliteMaterial()`. - Add `$questitemdata->GetEndurance()`. - Add `$questitemdata->GetEnduranceRegen()`. - Add `$questitemdata->GetExpendableArrow()`. - Add `$questitemdata->GetExtraDamageAmount()`. - Add `$questitemdata->GetExtraDamageSkill()`. - Add `$questitemdata->GetFR()`. - Add `$questitemdata->GetFVNoDrop()`. - Add `$questitemdata->GetFactionAmount1()`. - Add `$questitemdata->GetFactionAmount2()`. - Add `$questitemdata->GetFactionAmount3()`. - Add `$questitemdata->GetFactionAmount4()`. - Add `$questitemdata->GetFactionModifier1()`. - Add `$questitemdata->GetFactionModifier2()`. - Add `$questitemdata->GetFactionModifier3()`. - Add `$questitemdata->GetFactionModifier4()`. - Add `$questitemdata->GetFavor()`. - Add `$questitemdata->GetFilename()`. - Add `$questitemdata->GetFocusEffect()`. - Add `$questitemdata->GetFocusName()`. - Add `$questitemdata->GetFocusLevel()`. - Add `$questitemdata->GetFocusLevel2()`. - Add `$questitemdata->GetFocusType()`. - Add `$questitemdata->GetFulfilment()`. - Add `$questitemdata->GetGuildFavor()`. - Add `$questitemdata->GetHP()`. - Add `$questitemdata->GetHaste()`. - Add `$questitemdata->GetHealAmount()`. - Add `$questitemdata->GetHeroicAGI()`. - Add `$questitemdata->GetHeroicCR()`. - Add `$questitemdata->GetHeroicCHA()`. - Add `$questitemdata->GetHeroicCorruption()`. - Add `$questitemdata->GetHeroicDR()`. - Add `$questitemdata->GetHeroicDEX()`. - Add `$questitemdata->GetHeroicFR()`. - Add `$questitemdata->GetHeroicINT()`. - Add `$questitemdata->GetHeroicMR()`. - Add `$questitemdata->GetHeroicPR()`. - Add `$questitemdata->GetHeroicSTA()`. - Add `$questitemdata->GetHeroicSTR()`. - Add `$questitemdata->GetHeroicWIS()`. - Add `$questitemdata->GetID()`. - Add `$questitemdata->GetIDFile()`. - Add `$questitemdata->GetIcon()`. - Add `$questitemdata->GetItemClass()`. - Add `$questitemdata->GetItemType()`. - Add `$questitemdata->GetLDoNPrice()`. - Add `$questitemdata->GetLDoNSellBackRate()`. - Add `$questitemdata->GetLDoNSold()`. - Add `$questitemdata->GetLDoNTheme()`. - Add `$questitemdata->GetLight()`. - Add `$questitemdata->GetLore()`. - Add `$questitemdata->GetLoreFlag()`. - Add `$questitemdata->GetLoreGroup()`. - Add `$questitemdata->GetMR()`. - Add `$questitemdata->GetMagic()`. - Add `$questitemdata->GetMana()`. - Add `$questitemdata->GetManaRegen()`. - Add `$questitemdata->GetMaterial()`. - Add `$questitemdata->GetMaximumCharges()`. - Add `$questitemdata->GetMinimumStatus()`. - Add `$questitemdata->GetName()`. - Add `$questitemdata->GetNoDrop()`. - Add `$questitemdata->GetNoPet()`. - Add `$questitemdata->GetNoRent()`. - Add `$questitemdata->GetNoTransfer()`. - Add `$questitemdata->GetPR()`. - Add `$questitemdata->GetPendingLoreFlag()`. - Add `$questitemdata->GetPointType()`. - Add `$questitemdata->GetPotionBelt()`. - Add `$questitemdata->GetPotionBeltSlots()`. - Add `$questitemdata->GetPrice()`. - Add `$questitemdata->GetProcEffect()`. - Add `$questitemdata->GetProcName()`. - Add `$questitemdata->GetProcRate()`. - Add `$questitemdata->GetProcLevel()`. - Add `$questitemdata->GetProcLevel2()`. - Add `$questitemdata->GetProcType()`. - Add `$questitemdata->GetPurity()`. - Add `$questitemdata->GetQuestItemFlag()`. - Add `$questitemdata->GetRaces()`. - Add `$questitemdata->GetRange()`. - Add `$questitemdata->GetRecLevel()`. - Add `$questitemdata->GetRecSkill()`. - Add `$questitemdata->GetRecastDelay()`. - Add `$questitemdata->GetRecastType()`. - Add `$questitemdata->GetRegen()`. - Add `$questitemdata->GetReqLevel()`. - Add `$questitemdata->GetScriptFileID()`. - Add `$questitemdata->GetScrollEffect()`. - Add `$questitemdata->GetScrollName()`. - Add `$questitemdata->GetScrollLevel()`. - Add `$questitemdata->GetScrollLevel2()`. - Add `$questitemdata->GetScrollType()`. - Add `$questitemdata->GetSellRate()`. - Add `$questitemdata->GetShielding()`. - Add `$questitemdata->GetSize()`. - Add `$questitemdata->GetSkillModifierType()`. - Add `$questitemdata->GetSkillModifierValue()`. - Add `$questitemdata->GetSlots()`. - Add `$questitemdata->GetSpellDamage()`. - Add `$questitemdata->GetSpellShield()`. - Add `$questitemdata->GetStackSize()`. - Add `$questitemdata->GetStackable()`. - Add `$questitemdata->GetStrikeThrough()`. - Add `$questitemdata->GetStunResist()`. - Add `$questitemdata->GetSummonedFlag()`. - Add `$questitemdata->GetTradeskills()`. - Add `$questitemdata->GetWeight()`. - Add `$questitemdata->GetWornName()`. - Add `$questitemdata->GetWornEffect()`. - Add `$questitemdata->GetWornLevel()`. - Add `$questitemdata->GetWornLevel2()`. - Add `$questitemdata->GetWornType()`. - Fixed data type of parameters in a handful of methods. - Allows operators to directly interact with item data without the need for `quest::getitemstat` or DBI or anything of the sort. * Update perl_questitem.cpp * Update lua_iteminst.cpp * Update lua_iteminst.h * Update lua_iteminst.h
99 lines
2.6 KiB
C++
99 lines
2.6 KiB
C++
#ifndef EQEMU_LUA_ITEMINST_H
|
|
#define EQEMU_LUA_ITEMINST_H
|
|
#ifdef LUA_EQEMU
|
|
|
|
#include "lua_ptr.h"
|
|
|
|
// Forward declaration
|
|
class Lua_Item;
|
|
|
|
namespace EQ
|
|
{
|
|
class ItemInstance;
|
|
}
|
|
|
|
namespace luabind {
|
|
struct scope;
|
|
}
|
|
|
|
luabind::scope lua_register_iteminst();
|
|
|
|
class Lua_ItemInst : public Lua_Ptr<EQ::ItemInstance>
|
|
{
|
|
typedef EQ::ItemInstance NativeType;
|
|
public:
|
|
Lua_ItemInst(int item_id);
|
|
Lua_ItemInst(int item_id, int charges);
|
|
Lua_ItemInst() : Lua_Ptr(nullptr), cloned_(false) { }
|
|
Lua_ItemInst(EQ::ItemInstance *d) : Lua_Ptr(d), cloned_(false) { }
|
|
Lua_ItemInst(EQ::ItemInstance *d, bool cloned) : Lua_Ptr(d), cloned_(cloned) { }
|
|
Lua_ItemInst& operator=(const Lua_ItemInst& o);
|
|
Lua_ItemInst(const Lua_ItemInst& o);
|
|
virtual ~Lua_ItemInst();
|
|
|
|
operator EQ::ItemInstance*() {
|
|
return reinterpret_cast<EQ::ItemInstance*>(GetLuaPtrData());
|
|
}
|
|
|
|
bool IsType(int item_class);
|
|
bool IsStackable();
|
|
bool IsEquipable(uint16 race_bitmask, uint16 class_bitmask);
|
|
bool IsEquipable(int16 slot_id);
|
|
bool IsAugmentable();
|
|
int GetAugmentType();
|
|
bool IsExpendable();
|
|
Lua_ItemInst GetItem(uint8 slot_id);
|
|
Lua_Item GetItem();
|
|
Lua_Item GetUnscaledItem();
|
|
uint32 GetItemID(uint8 slot_id);
|
|
uint8 GetTotalItemCount();
|
|
Lua_ItemInst GetAugment(uint8 slot_id);
|
|
uint32 GetAugmentItemID(uint8 slot_id);
|
|
bool IsAugmented();
|
|
bool IsWeapon();
|
|
bool IsAmmo();
|
|
uint32 GetID();
|
|
uint32 GetItemScriptID();
|
|
int GetCharges();
|
|
void SetCharges(int charges);
|
|
uint32 GetPrice();
|
|
void SetPrice(uint32 price);
|
|
void SetColor(uint32 color);
|
|
uint32 GetColor();
|
|
bool IsInstNoDrop();
|
|
bool IsAttuned();
|
|
void SetInstNoDrop(bool flag);
|
|
void SetAttuned(bool flag);
|
|
std::string GetCustomDataString();
|
|
void SetCustomData(const std::string &identifier, const std::string &value);
|
|
void SetCustomData(const std::string &identifier, int value);
|
|
void SetCustomData(const std::string &identifier, float value);
|
|
void SetCustomData(const std::string &identifier, bool value);
|
|
std::string GetCustomData(const std::string& identifier);
|
|
void DeleteCustomData(const std::string& identifier);
|
|
void SetScaling(bool v);
|
|
void SetScale(double scale_factor);
|
|
uint32 GetExp();
|
|
void SetExp(uint32 exp);
|
|
void AddExp(uint32 exp);
|
|
int8 GetMaxEvolveLvl();
|
|
uint32 GetKillsNeeded(uint8 current_level);
|
|
Lua_ItemInst Clone();
|
|
void SetTimer(std::string name, uint32 time);
|
|
void StopTimer(std::string name);
|
|
void ClearTimers();
|
|
bool ContainsAugmentByID(uint32 item_id);
|
|
int CountAugmentByID(uint32 item_id);
|
|
int GetTaskDeliveredCount();
|
|
int RemoveTaskDeliveredItems();
|
|
std::string GetName();
|
|
void ItemSay(const char* text);
|
|
void ItemSay(const char* text, uint8 language_id);
|
|
|
|
private:
|
|
bool cloned_;
|
|
};
|
|
|
|
#endif
|
|
#endif
|