title: Game Dev - Abstract skill/talent system implementation
body: <p>Reposted from gamedev stackexchange (<a href="https://gamedev.stackexchange.com/questions/45596/abstract-skill-talent-system-implementation">original</a>) as it's pretty dead over there:</p>
  
  <p>I've been making small 2D games for about 3 years now (XNA and more recently LWJGL/Slick2D). My latest idea would involve some form of "talent tree" system in a real time game.</p>
  
  <p>I've been wracking my brain but can't think of a structure to hold a talent. Something like </p>
  
  <blockquote>
    <p>"Your melee attack is an instant kill if behind the target"</p>
  </blockquote>
  
  <p>I'd like to come up with an abstract object rather than putting random conditionals into other methods. I've solved some relatively complex problems before but I don't even know where to begin with this one.</p>
  
  <p>Any help would be appreciated - Java, pseudocode or general concepts are all great.</p>