net.sf.magicproject.event
Class AssignedDamage

java.lang.Object
  extended by net.sf.magicproject.event.MEventListener
      extended by net.sf.magicproject.event.TriggeredEvent
          extended by net.sf.magicproject.event.AssignedDamage
All Implemented Interfaces:
RegisterableEvent

public class AssignedDamage
extends TriggeredEvent

Since:
0.54, 0.80 support replacement
Author:
Fabrice Daugan

Field Summary
static Event EVENT
          The event type.
 
Fields inherited from class net.sf.magicproject.event.TriggeredEvent
replacement
 
Fields inherited from class net.sf.magicproject.event.MEventListener
CAN_I_CAST_ABILITIES, card, REPLACEMENT_ABILITIES, test, TRIGGRED_ABILITIES
 
Constructor Summary
AssignedDamage(java.io.InputStream inputFile, MCard card)
          Create an instance of MEventDamaged by reading a file Offset's file must pointing on the first byte of this event
Structure of InputStream : Data[size] [super] damage type[Expression] test source[Test] test destination[Test]
 
Method Summary
 MEventListener clone(MCard card)
          Return a copy of this with the specified owner
static void dispatchEvent(MCard source, Targetable target, int damageNumber, int damageType)
          Dispatch this event to all active event listeners able to understand this event.
 Event getIdEvent()
          Return the idEvent of this event
 boolean isMatching(MCard source, Targetable destination, int damageNumber, int damageType, Ability ability)
          Tell if the current event matches with this event.
static boolean tryAction(MCard source, Targetable target, int damageNumber, int damageType)
          Dispatch this event to replacement abilites only.
 
Methods inherited from class net.sf.magicproject.event.TriggeredEvent
isActivated, isTriggered, registerToManager, removeFromManager, toHtmlString
 
Methods inherited from class net.sf.magicproject.event.MEventListener
appendOr, getIdPlace, isWellPlaced, isWellPlaced, reCheck, reCheck, reset
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EVENT

public static final Event EVENT
The event type.

Constructor Detail

AssignedDamage

public AssignedDamage(java.io.InputStream inputFile,
                      MCard card)
               throws java.io.IOException
Create an instance of MEventDamaged by reading a file Offset's file must pointing on the first byte of this event

Parameters:
inputFile - is the file containing this event
card - is the card owning this event
Throws:
java.io.IOException - if error occurred during the reading process from the specified input stream
Method Detail

clone

public MEventListener clone(MCard card)
Description copied from class: MEventListener
Return a copy of this with the specified owner

Specified by:
clone in class TriggeredEvent
Parameters:
card - is the card of the ability of this event
Returns:
copy of this event

isMatching

public boolean isMatching(MCard source,
                          Targetable destination,
                          int damageNumber,
                          int damageType,
                          Ability ability)
Tell if the current event matches with this event. If there is an additional code to check, it'would be checked if the main event matches with the main event

Parameters:
source - the source of damage
destination - the damaged player/card
damageNumber - the amount of damage to do
damageType - the type of this damage (prevent/dealt, lose life or gain life).
ability - is the ability owning this test. The card component of this ability should correspond to the card owning this test too.
Returns:
true if the current event match with this event

tryAction

public static boolean tryAction(MCard source,
                                Targetable target,
                                int damageNumber,
                                int damageType)
Dispatch this event to replacement abilites only. If one or several abilities have been activated this way, this function will return false. The return value must be checked. In case of false value, the caller should not call any stack resolution since activated abilities are being played.

Parameters:
source - the source of damage
target - the damaged player/card
damageNumber - the amount of damage to do
damageType - the type of this damage (prevent/dealt, lose life or gain life).
Returns:
true if and only if no replacement abilities have been activated

dispatchEvent

public static void dispatchEvent(MCard source,
                                 Targetable target,
                                 int damageNumber,
                                 int damageType)
Dispatch this event to all active event listeners able to understand this event. The listening events able to understand this event are this and other multiple event listeners. For each event listeners having responded they have been activated, the corresponding ability is added to the triggered buffer zone of player owning this ability

Parameters:
source - the source of damage
target - the damaged player/card
damageNumber - the amount of damage to do
damageType - the type of this damage (prevent/dealt, lose life or gain life).
See Also:
isMatching(MCard, Targetable, int, int, Ability)

getIdEvent

public final Event getIdEvent()
Description copied from class: MEventListener
Return the idEvent of this event

Specified by:
getIdEvent in class TriggeredEvent
Returns:
the idEvent of this event


Copyright © 2003-2007 Magic-Project. All Rights Reserved.