1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-28 23:27:45 +00:00

Several GM Commands no longer crashes world.exe if used while a bnpc or an eobj is in range

This commit is contained in:
JeidoUran 2019-01-05 14:50:16 +01:00
parent c87955374e
commit d2a8e5dc16

View file

@ -142,6 +142,8 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
targetPlayer->spawn( targetPlayer );
auto inRange = targetPlayer->getInRangeActors();
for( auto actor : inRange )
{
if( actor->isPlayer() )
{
targetPlayer->despawn( actor->getAsPlayer() );
targetPlayer->spawn( actor->getAsPlayer() );
@ -155,10 +157,13 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
targetPlayer->spawn( targetPlayer );
auto inRange = targetPlayer->getInRangeActors();
for( auto actor : inRange )
{
if( actor->isPlayer() )
{
targetPlayer->despawn( actor->getAsPlayer() );
targetPlayer->spawn( actor->getAsPlayer() );
}
}
break;
}
case GmCommand::Sex:
@ -168,10 +173,13 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
targetPlayer->spawn( targetPlayer );
auto inRange = targetActor->getInRangeActors();
for( auto actor : inRange )
{
if( actor->isPlayer() )
{
targetPlayer->despawn( actor->getAsPlayer() );
targetPlayer->spawn( actor->getAsPlayer() );
}
}
break;
}
case GmCommand::Time:
@ -223,8 +231,11 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
for( auto actor : player.getInRangeActors() )
{
player.despawn( actor->getAsPlayer() );
player.spawn( actor->getAsPlayer() );
if( actor->isPlayer() )
{
targetPlayer->despawn( actor->getAsPlayer() );
targetPlayer->spawn( actor->getAsPlayer() );
}
}
break;
}