I was getting compiler errors without it.

>In file included from profession.h:7:0,
>                 from profession.cpp:5:
>pldata.h:112:2: error: 'point' does not name a type
>pldata.h: In constructor 'player_activity::player_activity()':
>pldata.h:115:22: error: 'placement' was not declared in this scope
>pldata.h:115:46: error: 'point' was not declared in this scope
>pldata.h: In constructor 'player_activity::player_activity(activity_type, int, int)':
>pldata.h:122:3: error: 'placement' was not declared in this scope
>pldata.h:122:27: error: 'point' was not declared in this scope
>pldata.h: In copy constructor 'player_activity::player_activity(const player_activity&)':
>pldata.h:130:3: error: 'placement' was not declared in this scope
>pldata.h:130:20: error: 'const struct player_activity' has no member named 'placement'
>pldata.h: In member function 'std::string player_activity::save_info()':
>pldata.h:139:62: error: 'placement' was not declared in this scope
>pldata.h: In member function 'void player_activity::load_info(std::stringstream&)':
>pldata.h:150:45: error: 'placement' was not declared in this scope
>make: *** [obj/profession.o] Error 1

My best guess would be that pldata.h was only included in source files that already included enums.h before it, but that this wasn't the case when I included it in profession.h