package edu.columbia.cs.cs1007.comics;

/**
 * An implementation of superheroes who possess magical powers.
 @author Julia Stoyanovich (jds2109@columbia.edu)
 *         COMS 1007, Summer 2009
 *
 */
public class MagicalSuperHero extends SuperHero {

  /**
   * Constructor.
   @param name
   */
  public MagicalSuperHero(String name) {
    super(name, "Black Magic");
  }
  
  /**
   * Implementation of the abstract method inherited from the superclass.
   @param villain
   @return dialogue
   */
  public String killVillain(Villain villain) {
    
    String dialogue = villain.speakUp() "\n" this.speakUp();
    dialogue += "\n" + turnIntoDust(villain);
    return dialogue;
  }
  
  /**
   * A private method that implements the method of killing the villain by using magic.
   @param villain
   @return dialogue
   */
  private String turnIntoDust(Villain villain) {
    
    String dialogue = getName() " : Abrakadabra!";
    dialogue += "\n" + villain.die();
    return dialogue;
  }
}