View Javadoc

1   /*
2   @See License.txt@
3    */
4   
5   package spellcast.spell;
6   
7   import spellcast.beings.IBeing;
8   import spellcast.beings.IWizard;
9   import spellcast.gestures.Gesture;
10  
11  /***
12   * A <code>ISpell</code> cast by a <code>IWizard</code>.
13   *
14   * @author  Barrie Treloar
15   * @revision $Revision: 1.1 $
16   */
17  public interface ISpell {
18  
19      /***
20       * Return the <code>IWizard</code> who cast this <code>ISpell</code>.
21       *
22       * @return the <code>IWizard</code> who cast this <code>ISpell</code>.
23       */
24      IWizard getCaster();
25  
26      /***
27       * Return the target <code>IBeing</code> of this <code>ISpell</code>.
28       *
29       * @return the target <code>IBeing</code> of this <code>ISpell</code>.
30       */
31      IBeing getTarget();
32  
33      /***
34       * Return the <code>Gesture</code>s needed to cast this <code>ISpell</code>.
35       *
36       * @return the <code>Gesture</code>s needed to cast this <code>ISpell</code>.
37       */
38      Gesture[] getGestures();
39  
40      /***
41       * Return the description of this <code>ISpell</code>.
42       * @return the description of this <code>ISpell</code>.
43       */
44      String getDescription();
45  }