diff --git a/zone/client.h b/zone/client.h index 7ab3749e1..4298bcc46 100644 --- a/zone/client.h +++ b/zone/client.h @@ -622,6 +622,7 @@ public: inline uint32 AccountID() const { return account_id; } inline const char* AccountName()const { return account_name; } + inline int GetAccountCreation() const { return account_creation; } inline int16 Admin() const { return admin; } inline uint32 CharacterID() const { return character_id; } void UpdateAdmin(bool iFromDB = true); diff --git a/zone/lua_client.cpp b/zone/lua_client.cpp index 0c5bf8cc1..d69924577 100644 --- a/zone/lua_client.cpp +++ b/zone/lua_client.cpp @@ -350,6 +350,11 @@ const char *Lua_Client::AccountName() { return self->AccountName(); } +int Lua_Client::GetAccountAge() { + Lua_Safe_Call_Int(); + return time(nullptr) - self->GetAccountCreation(); +} + int Lua_Client::Admin() { Lua_Safe_Call_Bool(); return self->Admin(); @@ -1375,6 +1380,7 @@ luabind::scope lua_register_client() { .def("GetRawItemAC", (int(Lua_Client::*)(void))&Lua_Client::GetRawItemAC) .def("AccountID", (uint32(Lua_Client::*)(void))&Lua_Client::AccountID) .def("AccountName", (const char *(Lua_Client::*)(void))&Lua_Client::AccountName) + .def("GetAccountAge", (int(Lua_Client::*)(void))&Lua_Client::GetAccountAge) .def("Admin", (int(Lua_Client::*)(void))&Lua_Client::Admin) .def("CharacterID", (uint32(Lua_Client::*)(void))&Lua_Client::CharacterID) .def("GuildRank", (int(Lua_Client::*)(void))&Lua_Client::GuildRank) diff --git a/zone/lua_client.h b/zone/lua_client.h index 0639cd6da..dd1059a0a 100644 --- a/zone/lua_client.h +++ b/zone/lua_client.h @@ -166,9 +166,9 @@ public: void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3); void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4); void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5); - void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5, + void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5, bool attuned); - void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5, + void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5, bool attuned, int to_slot); void SetStats(int type, int value); void IncStats(int type, int value); @@ -262,6 +262,7 @@ public: bool HasSpellScribed(int spell_id); void SetAccountFlag(std::string flag, std::string val); std::string GetAccountFlag(std::string flag); + int GetAccountAge(); Lua_Group GetGroup(); Lua_Raid GetRaid(); bool PutItemInInventory(int slot_id, Lua_ItemInst inst);