mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
Merge branch 'unf_sfg' into 'master'
UNF: The Space Family Goblinson and support See merge request core-developers/forge!5988
This commit is contained in:
@@ -6,6 +6,7 @@ import java.util.Map;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
import forge.game.ability.AbilityKey;
|
||||
import forge.game.event.GameEventRollDie;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.trigger.TriggerType;
|
||||
|
||||
@@ -18,10 +19,12 @@ public enum PlanarDice {
|
||||
Chaos,
|
||||
Blank;
|
||||
|
||||
public static PlanarDice roll(Player roller, PlanarDice riggedResult)
|
||||
{
|
||||
public static PlanarDice roll(Player roller, PlanarDice riggedResult) {
|
||||
PlanarDice res = Blank;
|
||||
int i = forge.util.MyRandom.getRandom().nextInt(6);
|
||||
// Play the die roll sound
|
||||
roller.getGame().fireEvent(new GameEventRollDie());
|
||||
roller.roll();
|
||||
if (riggedResult != null)
|
||||
res = riggedResult;
|
||||
else if (i == 0)
|
||||
|
||||
@@ -2270,6 +2270,10 @@ public class AbilityUtils {
|
||||
return doXMath(player.getNumDrawnThisTurn(), expr, c, ctb);
|
||||
}
|
||||
|
||||
if (sq[0].equals("YouRollThisTurn")) {
|
||||
return doXMath(player.getNumRollsThisTurn(), expr, c, ctb);
|
||||
}
|
||||
|
||||
if (sq[0].equals("YouSurveilThisTurn")) {
|
||||
return doXMath(player.getSurveilThisTurn(), expr, c, ctb);
|
||||
}
|
||||
|
||||
@@ -78,6 +78,7 @@ public class RollDiceEffect extends SpellAbilityEffect {
|
||||
int roll = MyRandom.getRandom().nextInt(sides) + 1;
|
||||
// Play the die roll sound
|
||||
player.getGame().fireEvent(new GameEventRollDie());
|
||||
player.roll();
|
||||
rolls.add(roll);
|
||||
total += roll;
|
||||
}
|
||||
|
||||
@@ -172,6 +172,7 @@ public class Player extends GameEntity implements Comparable<Player> {
|
||||
private String namedCard2 = "";
|
||||
private int numDrawnThisTurn = 0;
|
||||
private int numDrawnThisDrawStep = 0;
|
||||
private int numRollsThisTurn = 0;
|
||||
private int numDiscardedThisTurn = 0;
|
||||
private int numTokenCreatedThisTurn = 0;
|
||||
private int numForetoldThisTurn = 0;
|
||||
@@ -1465,6 +1466,18 @@ public class Player extends GameEntity implements Comparable<Player> {
|
||||
return numDrawnThisDrawStep;
|
||||
}
|
||||
|
||||
public final void resetNumRollsThisTurn() {
|
||||
numRollsThisTurn = 0;
|
||||
}
|
||||
|
||||
public final int getNumRollsThisTurn() {
|
||||
return numRollsThisTurn;
|
||||
}
|
||||
|
||||
public void roll() {
|
||||
numRollsThisTurn++;
|
||||
}
|
||||
|
||||
public final Card discard(final Card c, final SpellAbility sa, final boolean effect, CardZoneTable table) {
|
||||
return discard(c, sa, effect, table, null);
|
||||
}
|
||||
@@ -2455,6 +2468,7 @@ public class Player extends GameEntity implements Comparable<Player> {
|
||||
pz.resetCardsAddedThisTurn();
|
||||
}
|
||||
resetNumDrawnThisTurn();
|
||||
resetNumRollsThisTurn();
|
||||
resetNumDiscardedThisTurn();
|
||||
resetNumForetoldThisTurn();
|
||||
resetNumTokenCreatedThisTurn();
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
Name:The Space Family Goblinson
|
||||
ManaCost:2 R G
|
||||
Types:Legendary Creature Goblin Guest
|
||||
PT:1/1
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Trample | CheckSVar$ X | SVarCompare$ GE3 | Description$ CARDNAME has trample as you've rolled three or more dice this turn.
|
||||
SVar:X:Count$YouRollThisTurn
|
||||
T:Mode$ RolledDie | Execute$ TrigPutCounter | ValidPlayer$ You | TriggerZones$ Battlefield | TriggerDescription$ Whenever you roll a die, put a +1/+1 counter on CARDNAME.
|
||||
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1
|
||||
Oracle:The Space Family Goblinson has trample as long as you've rolled three or more dice this turn.\nWhenever you roll a die, put a +1/+1 counter on The Space Family Goblinson.
|
||||
Reference in New Issue
Block a user