// MorgenGrauen MUDlib
//
// skills.h -- Prototypen fuer Skillfunktion aus Spielern.
//
// $Id: skills.h 6559 2007-10-20 13:00:20Z Zesstra $

#ifndef __PLAYER_SKILLS_H__
#define __PLAYER_SKILLS_H__

// properties

#endif // __PLAYER_SKILLS_H__

#ifdef NEED_PROTOTYPES

#ifndef __PLAYER_SKILLS_H_PROTO__
#define __PLAYER_SKILLS_H_PROTO__
                                 
// prototypes
protected void  set_weapon_skills();
protected void  FixSkills();
protected void  InitSkills();

#endif // __PLAYER_SKILLS_H_PROTO__
#endif // NEED_PROTOYPES
