mirror of
https://github.com/azerothcore/mod-ale
synced 2025-11-29 15:38:17 +08:00
Remove Eluna* from being passed. You can now get it through Eluna::GetEluna(L) Change function call cleanup to lua_settop instead of manual loop Explicitly delete the copy constructor and copy assignment operators
82 lines
1.8 KiB
C++
82 lines
1.8 KiB
C++
/*
|
|
* Copyright (C) 2010 - 2016 Eluna Lua Engine <http://emudevs.com/>
|
|
* This program is free software licensed under GPL version 3
|
|
* Please see the included DOCS/LICENSE.md for more information
|
|
*/
|
|
|
|
#ifndef CORPSEMETHODS_H
|
|
#define CORPSEMETHODS_H
|
|
|
|
/***
|
|
* The remains of a [Player] that has died.
|
|
*
|
|
* Inherits all methods from: [Object], [WorldObject]
|
|
*/
|
|
namespace LuaCorpse
|
|
{
|
|
/**
|
|
* Returns the GUID of the [Player] that left the [Corpse] behind.
|
|
*
|
|
* @return uint64 ownerGUID
|
|
*/
|
|
int GetOwnerGUID(lua_State* L, Corpse* corpse)
|
|
{
|
|
#ifndef TRINITY
|
|
Eluna::Push(L, corpse->GetOwnerGuid());
|
|
#else
|
|
Eluna::Push(L, corpse->GetOwnerGUID());
|
|
#endif
|
|
return 1;
|
|
}
|
|
|
|
/**
|
|
* Returns the time when the [Player] became a ghost and spawned this [Corpse].
|
|
*
|
|
* @return uint32 ghostTime
|
|
*/
|
|
int GetGhostTime(lua_State* L, Corpse* corpse)
|
|
{
|
|
Eluna::Push(L, corpse->GetGhostTime());
|
|
return 1;
|
|
}
|
|
|
|
/**
|
|
* Returns the [CorpseType] of a [Corpse].
|
|
*
|
|
* enum CorpseType
|
|
* {
|
|
* CORPSE_BONES = 0,
|
|
* CORPSE_RESURRECTABLE_PVE = 1,
|
|
* CORPSE_RESURRECTABLE_PVP = 2
|
|
* };
|
|
*
|
|
* @return [CorpseType] corpseType
|
|
*/
|
|
int GetType(lua_State* L, Corpse* corpse)
|
|
{
|
|
Eluna::Push(L, corpse->GetType());
|
|
return 1;
|
|
}
|
|
|
|
/**
|
|
* Sets the "ghost time" to the current time.
|
|
*
|
|
* See [Corpse:GetGhostTime].
|
|
*/
|
|
int ResetGhostTime(lua_State* /*L*/, Corpse* corpse)
|
|
{
|
|
corpse->ResetGhostTime();
|
|
return 0;
|
|
}
|
|
|
|
/**
|
|
* Saves the [Corpse] to the database.
|
|
*/
|
|
int SaveToDB(lua_State* /*L*/, Corpse* corpse)
|
|
{
|
|
corpse->SaveToDB();
|
|
return 0;
|
|
}
|
|
};
|
|
#endif
|