View Javadoc

1   /*
2   @See License.txt@
3    */
4   package spellcast.enchantment;
5   
6   import spellcast.beings.IBeing;
7   
8   
9   /***
10   * The Blind <code>Enchantment</code>.
11   *
12   * @author Barrie Treloar
13   * @version $Revision: 1.1 $
14   */
15  public class BlindEnchantment extends EnchantmentImpl {
16      /*** Use serialVersionUID for interoperability. */
17      private static final long serialVersionUID = 1L;
18  
19      /*** The duration for <code>BlindEnchantment</code>. */
20      private static final int DURATION = 3;
21  
22      /*** The description for <code>BlindEnchantment</code>. */
23      private static final String DESCRIPTION =
24          "For the next 3 turns not including the one in which the spell was "
25          + "cast, the subject is unable to see. If he is a wizard, he cannot "
26          + "tell what his opponent's gestures are, although he must be informed "
27          + "of any which affect him (e.g. summons spells, 'missile' etc cast at "
28          + "him) but not 'counter- spells' to his own 'attacks'. Indeed he will "
29          + "not know if his own spells work unless they also affect him (e.g. "
30          + "a 'fire storm' when he isn't resistant to fire.) He can control his"
31          + "monsters (e.g. 'Attack whatever it was that just attacked me'). "
32          + "Blinded monsters are instantly destroyed and cannot attack in "
33          + "that turn.";
34  
35      /*** The name for <code>BlindEnchantment</code>. */
36      private static final String NAME = "Blind";
37  
38      /***
39       * Provided for serialization, do not use as a constructor.
40       */
41      protected BlindEnchantment() {
42      }
43  
44      /***
45       * Creates a new <code>BlindEnchantment</code> object.
46       *
47       * @param theCaster the <code>IBeing</code> casting the
48       *        <code>Enchantment</code>.
49       * @param theTarget the <code>IBeing</code> that is the target of the
50       *        <code>Enchantment</code>.
51       */
52      public BlindEnchantment(final IBeing theCaster, final IBeing theTarget) {
53          super(NAME, theCaster, theTarget);
54          setDuration(DURATION);
55          setDescription(DESCRIPTION);
56      }
57  }