polserver/pol-core/pol/startloc.cpp
turleypol f3c3958384
Unknown realm in startloc crashes on char creation (#628)
* unknown realm defined in startlocations now stops starting the core

* core changes
2024-03-03 11:51:37 +01:00

31 lines
738 B
C++

/** @file
*
* @par History
*/
#include "startloc.h"
#include "../clib/random.h"
namespace Pol
{
namespace Core
{
Pos4d StartingLocation::select_coordinate() const
{
int sidx = Clib::random_int( static_cast<int>( coords.size() - 1 ) );
return Pos4d( coords[sidx], realm );
}
size_t StartingLocation::estimateSize() const
{
size_t size = city.capacity() + desc.capacity() + sizeof( Realms::Realm* ) /*realm*/
+ sizeof( unsigned short ) /*mapid*/
+ sizeof( unsigned long ) /*cliloc_desc*/
+ 3 * sizeof( Pos3d* ) + coords.capacity() * sizeof( Pos3d );
return size;
}
} // namespace Core
} // namespace Pol