mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-02 20:42:28 +00:00
- License was intended to be GPLv3 per earlier commit of GPLv3 LICENSE FILE - This is confirmed by the inclusion of libraries that are incompatible with GPLv2 - This is also confirmed by KLS and the agreement of KLS's predecessors - Added GPLv3 license headers to the compilable source files - Removed Folly licensing in strings.h since the string functions do not match the Folly functions and are standard functions - this must have been left over from previous implementations - Removed individual contributor license headers since the project has been under the "developer" mantle for many years - Removed comments on files that were previously automatically generated since they've been manually modified multiple times and there are no automatic scripts referencing them (removed in 2023)
132 lines
3.8 KiB
C++
132 lines
3.8 KiB
C++
/* EQEmu: EQEmulator
|
|
|
|
Copyright (C) 2001-2026 EQEmu Development Team
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
#pragma once
|
|
|
|
#ifdef LUA_EQEMU
|
|
|
|
#include "common/types.h"
|
|
#include "zone/lua_ptr.h"
|
|
|
|
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();
|
|
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();
|
|
int GetSerialNumber();
|
|
void ItemSay(const char* text);
|
|
void ItemSay(const char* text, uint8 language_id);
|
|
luabind::object GetAugmentIDs(lua_State* L);
|
|
std::string GetItemLink();
|
|
void AddEvolveAmount(uint64 amount);
|
|
uint32 GetAugmentEvolveUniqueID(uint8 slot_id);
|
|
bool GetEvolveActivated();
|
|
uint64 GetEvolveAmount();
|
|
uint32 GetEvolveCharacterID();
|
|
bool GetEvolveEquipped();
|
|
uint32 GetEvolveFinalItemID();
|
|
uint32 GetEvolveItemID();
|
|
int8 GetEvolveLevel();
|
|
uint32 GetEvolveLoreID();
|
|
float GetEvolveProgression();
|
|
uint64 GetEvolveUniqueID();
|
|
bool IsEvolving();
|
|
void SetEvolveAmount(uint64 amount);
|
|
void SetEvolveProgression(float amount);
|
|
|
|
private:
|
|
bool cloned_;
|
|
};
|
|
|
|
#endif // LUA_EQEMU
|