forked from mirror/openmw-tes3mp
[General] Change type of BasePlayer::resurrectType to ResurrectType
This commit is contained in:
parent
f9c4b847aa
commit
077a3d06b3
3 changed files with 23 additions and 13 deletions
|
@ -746,7 +746,7 @@ std::tuple<float, float, float> Player::getPreviousCellPos() const
|
||||||
|
|
||||||
void Player::resurrect(unsigned int type)
|
void Player::resurrect(unsigned int type)
|
||||||
{
|
{
|
||||||
resurrectType = type;
|
resurrectType = static_cast<mwmp::ResurrectType>(type);
|
||||||
|
|
||||||
auto packet = mwmp::Networking::get().getPlayerPacketController()->GetPacket(ID_PLAYER_RESURRECT);
|
auto packet = mwmp::Networking::get().getPlayerPacketController()->GetPacket(ID_PLAYER_RESURRECT);
|
||||||
packet->setPlayer(this);
|
packet->setPlayer(this);
|
||||||
|
|
|
@ -25,16 +25,26 @@ namespace mwmp
|
||||||
|
|
||||||
if (isLocal())
|
if (isLocal())
|
||||||
{
|
{
|
||||||
LOG_APPEND(Log::LOG_INFO, "- Packet was about me with resurrectType of %i", player->resurrectType);
|
LOG_APPEND(Log::LOG_INFO, "- Packet was about me with resurrectType of %i", (int) player->resurrectType);
|
||||||
|
|
||||||
player->creatureStats.mDead = false;
|
player->creatureStats.mDead = false;
|
||||||
|
|
||||||
MWWorld::Ptr playerPtr = MWBase::Environment::get().getWorld()->getPlayerPtr();
|
MWBase::World *world = MWBase::Environment::get().getWorld();
|
||||||
|
MWWorld::Ptr playerPtr = world->getPlayerPtr();
|
||||||
|
|
||||||
|
|
||||||
|
switch(player->resurrectType)
|
||||||
|
{
|
||||||
|
case ResurrectType::Regular:
|
||||||
|
break;
|
||||||
|
case ResurrectType::ImperialShrine:
|
||||||
|
world->teleportToClosestMarker(playerPtr, "divinemarker");
|
||||||
|
break;
|
||||||
|
case ResurrectType::TribunalTemple:
|
||||||
|
world->teleportToClosestMarker(playerPtr, "templemarker");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (player->resurrectType == mwmp::RESURRECT_TYPE::IMPERIAL_SHRINE)
|
|
||||||
MWBase::Environment::get().getWorld()->teleportToClosestMarker(playerPtr, "divinemarker");
|
|
||||||
else if (player->resurrectType == mwmp::RESURRECT_TYPE::TRIBUNAL_TEMPLE)
|
|
||||||
MWBase::Environment::get().getWorld()->teleportToClosestMarker(playerPtr, "templemarker");
|
|
||||||
|
|
||||||
playerPtr.getClass().getCreatureStats(playerPtr).resurrect();
|
playerPtr.getClass().getCreatureStats(playerPtr).resurrect();
|
||||||
|
|
||||||
|
|
|
@ -151,11 +151,11 @@ namespace mwmp
|
||||||
std::vector<CellState> cellStates;
|
std::vector<CellState> cellStates;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum RESURRECT_TYPE
|
enum class ResurrectType : uint8_t
|
||||||
{
|
{
|
||||||
REGULAR = 0,
|
Regular = 0,
|
||||||
IMPERIAL_SHRINE,
|
ImperialShrine,
|
||||||
TRIBUNAL_TEMPLE
|
TribunalTemple
|
||||||
};
|
};
|
||||||
|
|
||||||
class BasePlayer : public mwmp::BaseNetCreature
|
class BasePlayer : public mwmp::BaseNetCreature
|
||||||
|
@ -285,7 +285,7 @@ namespace mwmp
|
||||||
std::string jailProgressText;
|
std::string jailProgressText;
|
||||||
std::string jailEndText;
|
std::string jailEndText;
|
||||||
|
|
||||||
unsigned int resurrectType;
|
ResurrectType resurrectType;
|
||||||
|
|
||||||
bool diedSinceArrestAttempt;
|
bool diedSinceArrestAttempt;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue