View Javadoc

1   /*
2   @See License.txt@
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  }