View Javadoc

1   /*
2   @See License.txt@
3    */
4   package spellcast.enchantment;
5   
6   import spellcast.beings.IBeing;
7   
8   
9   /***
10   * The Paralysis <code>Enchantment</code>.
11   *
12   * @author Barrie Treloar
13   * @version $Revision: 1.1 $
14   */
15  public class ParalysisEnchantment extends EnchantmentImpl {
16      /*** Use serialVersionUID for interoperability. */
17      private static final long serialVersionUID = 1L;
18  
19      /*** The duration for <code>ParalysisEnchantment</code>. */
20      private static final int DURATION = 1;
21  
22      /*** The description for <code>ParalysisEnchantment</code>. */
23      private static final String DESCRIPTION =
24          "If the subject of the spell is a wizard, then on the turn the spell "
25          + "is cast, after gestures have been revealed, the caster selects one "
26          + "of the wizard's hands and on the next turn that hand is paralyzed "
27          + "into the position it is in this turn. If the wizard already had a "
28          + "paralyzed hand, it must be the same hand which is paralyzed again. "
29          + "Certain gestures remain the same but if the hand being paralyzed is "
30          + "performing a C, S or W it is instead paralyzed into F, D or P "
31          + " respectively, otherwise it will remain in the position written "
32          + "down (this allows repeated stabs). A favourite ploy is to "
33          + "continually paralyze a hand (F-F-F-F-F-F etc.) into a non-P gesture "
34          + "and then set a monster on the subject so that he has to use his "
35          + "other hand to protect himself, but then has no defence against "
36          + "other magical attacks. If the subject of the spell is a monster "
37          + "(excluding elementals which are unaffected) it simply does not "
38          + "attack in the turn following the one in which the spell was cast. "
39          + "If the subject of the spell is also the subject of any of "
40          + "'amnesia', 'confusion', 'charm person', 'charm monster' or 'fear', "
41          + "none of the spells work.";
42  
43      /*** The name for <code>ParalysisEnchantment</code>. */
44      private static final String NAME = "Paralysis";
45  
46      /***
47       * Provided for serialization, do not use as a constructor.
48       */
49      protected ParalysisEnchantment() {
50      }
51  
52      /***
53       * Creates a new <code>ParalysisEnchantment</code> object.
54       *
55       * @param theCaster the <code>IBeing</code> casting the
56       *        <code>Enchantment</code>.
57       * @param theTarget the <code>IBeing</code> that is the target of the
58       *        <code>Enchantment</code>.
59       */
60      public ParalysisEnchantment(final IBeing theCaster, final IBeing theTarget) {
61          super(NAME, theCaster, theTarget);
62          setDuration(DURATION);
63          setDescription(DESCRIPTION);
64      }
65  }