- Added Skyfire Kirin and Puppet Master

This commit is contained in:
swordshine
2013-06-30 04:46:35 +00:00
parent d015c35912
commit 5d3db0dbd3
5 changed files with 35 additions and 3 deletions

View File

@@ -110,7 +110,6 @@ public class Card extends GameEntity implements Comparable<Card> {
private final CardDamageHistory damageHistory = new CardDamageHistory();
private Map<CounterType, Integer> counters = new TreeMap<CounterType, Integer>();
private Map<Card, Map<CounterType, Integer>> countersAddedBy = new TreeMap<Card, Map<CounterType, Integer>>();
private final Map<String, Object> triggeringObjects = new TreeMap<String, Object>();
private ArrayList<String> extrinsicKeyword = new ArrayList<String>();
// Hidden keywords won't be displayed on the card
private final ArrayList<String> hiddenExtrinsicKeyword = new ArrayList<String>();
@@ -821,7 +820,17 @@ public class Card extends GameEntity implements Comparable<Card> {
* @return a {@link java.lang.Object} object.
*/
public final Object getTriggeringObject(final String typeIn) {
return this.triggeringObjects.get(typeIn);
Object triggered = null;
if (!this.getCharacteristics().getTriggers().isEmpty()) {
for (final Trigger t : this.getCharacteristics().getTriggers()) {
final SpellAbility sa = t.getTriggeredSA();
triggered = sa.getTriggeringObject(typeIn);
if (triggered != null) {
break;
}
}
}
return triggered;
}
/**

View File

@@ -1288,7 +1288,7 @@ public class CardFactoryUtil {
if (sq[0].equals("RegeneratedThisTurn")) return doXMath(c.getRegeneratedThisTurn(), m, c);
// TriggeringObjects
if (sq[0].startsWith("Triggered")) return doXMath((Integer) c.getTriggeringObject(sq[0].substring(9)), m, c);
if (sq[0].startsWith("Triggered")) return doXMath(xCount((Card) c.getTriggeringObject("Card"), sq[0].substring(9)), m, c);
if (sq[0].contains("YourStartingLife")) return doXMath(cc.getStartingLife(), m, c);
//if (sq[0].contains("OppStartingLife")) return doXMath(oppController.getStartingLife(), m, c); // found no cards using it