I changed code to :
if( one_in( 100 ) ) {
std::shared_ptr<npc> tmp = std::make_shared<npc>();
tmp->normalize();
tmp->randomize( NC_CLASS );
tmp->spawn_at_precise( { get_levx(), get_levy() }, p );
if( !critter_at( p, true ) ) {
overmap_buffer.insert_npc( tmp );
return true;
} else {
return false;
}
}
And now instead of a hard crash I get :
DEBUG : Invalid body part token -858993460
FUNCTION : convert_bp
FILE : ..\src\bodypart.cpp
LINE : 136
Anybody got any idea on what I’m doing wrong ?