NpcTemplate::NpcTemplate( const Clib::ConfigElem& elem, const Plib::Package* pkg ) : intrinsic_weapon( Items::find_intrinsic_weapon( elem.rest() ) ), pkg( pkg ), // script( elem.read_string( "SCRIPT" ) ), alignment( static_cast<ALIGNMENT>( translate( elem.read_string( "ALIGNMENT", "neutral" ), xlate_align ) ) ), method_script( NULL ) { if ( pkg == NULL ) { name = elem.rest(); } else { if ( elem.rest()[0] == ':' ) { name = elem.rest(); } else { name = ":" + pkg->name() + ":" + elem.rest(); } } if ( elem.has_prop( "MethodScript" ) ) { std::string temp = elem.read_string( "MethodScript" ); if ( !temp.empty() ) { ExportScript* shs = new ExportScript( pkg, temp ); if ( shs->Initialize() ) method_script = shs; else delete shs; } } }