package com.hearthsim.event.deathrattle; import com.hearthsim.card.Card; import com.hearthsim.card.CharacterIndex; import com.hearthsim.model.PlayerSide; import com.hearthsim.util.tree.HearthTreeNode; /** * Actions triggered by a deathrattle */ public abstract class DeathrattleAction<T extends Card> { /** * Perform the action * * @param origin The minion that is performing the action (aka, the dying minion) * @param playerSide * @param boardState */ public HearthTreeNode performAction(CharacterIndex originIndex, PlayerSide playerSide, HearthTreeNode boardState) { return boardState; } @Override public boolean equals(Object other) { if (other == null) { return false; } if (!(other instanceof DeathrattleAction)) return false; return true; } @Override public int hashCode() { return 1; } }