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