1
2
3
4 package spellcast.enchantment;
5
6 import spellcast.beings.IBeing;
7
8
9 /***
10 * The Time Stop <code>Enchantment</code>.
11 *
12 * @author Barrie Treloar
13 * @version $Revision: 1.1 $
14 */
15 public class TimeStopEnchantment extends EnchantmentImpl {
16 /*** Use serialVersionUID for interoperability. */
17 private static final long serialVersionUID = 1L;
18
19 /*** The duration for <code>TimeStopEnchantment</code>. */
20 private static final int DURATION = 1;
21
22 /*** The description for <code>TimeStopEnchantment</code>. */
23 private static final String DESCRIPTION =
24 "The subject of this spell immediately takes an extra turn, on which "
25 + "no-one can see or know about unless they are harmed. All "
26 + "non-affected beings have no resistance to any form of attack, "
27 + "e.g. a wizard halfway through the duration of a "
28 + "'protection from evil' spell can be harmed by a monster which has "
29 + "had its time stopped. Time-stopped monsters attack whoever their "
30 + "controller instructs, and time-stopped elementals affect everyone, "
31 + "resistance to heat or cold being immaterial in that turn.";
32
33 /*** The name of the <code>TimeStopEnchantment</code>. */
34 private static final String NAME = "Time Stop";
35
36 /***
37 * Provided for serialization, do not use as a constructor.
38 */
39 protected TimeStopEnchantment() {
40 }
41
42 /***
43 * Creates a new <code>TimeStopEnchantment</code> object.
44 *
45 * @param theCaster the <code>IBeing</code> casting the
46 * <code>Enchantment</code>.
47 * @param theTarget the <code>IBeing</code> that is the target of the
48 * <code>Enchantment</code>.
49 */
50 public TimeStopEnchantment(final IBeing theCaster, final IBeing theTarget) {
51 super(NAME, theCaster, theTarget);
52 setDuration(DURATION);
53 setDescription(DESCRIPTION);
54 }
55 }