1
2
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 }