mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-13 01:08:06 +00:00
Performance fixes
This commit is contained in:
@@ -111,12 +111,18 @@ public final class StaticAbilityContinuous {
|
|||||||
final List<Player> affectedPlayers = StaticAbilityContinuous.getAffectedPlayers(stAb);
|
final List<Player> affectedPlayers = StaticAbilityContinuous.getAffectedPlayers(stAb);
|
||||||
final Game game = hostCard.getGame();
|
final Game game = hostCard.getGame();
|
||||||
|
|
||||||
final StaticEffect se = game.getStaticEffects().getStaticEffect(stAb);
|
final StaticEffects effects = game.getStaticEffects();
|
||||||
|
final StaticEffect se = effects.getStaticEffect(stAb);
|
||||||
se.setAffectedCards(affectedCards);
|
se.setAffectedCards(affectedCards);
|
||||||
se.setAffectedPlayers(affectedPlayers);
|
se.setAffectedPlayers(affectedPlayers);
|
||||||
se.setParams(params);
|
se.setParams(params);
|
||||||
se.setTimestamp(hostCard.getTimestamp());
|
se.setTimestamp(hostCard.getTimestamp());
|
||||||
|
|
||||||
|
// nothing more to do
|
||||||
|
if (stAb.hasParam("Affected") && affectedPlayers.isEmpty() && affectedCards.isEmpty()) {
|
||||||
|
return affectedCards;
|
||||||
|
}
|
||||||
|
|
||||||
String addP = "";
|
String addP = "";
|
||||||
int powerBonus = 0;
|
int powerBonus = 0;
|
||||||
String addT = "";
|
String addT = "";
|
||||||
@@ -161,7 +167,6 @@ public final class StaticAbilityContinuous {
|
|||||||
|
|
||||||
//Global rules changes
|
//Global rules changes
|
||||||
if (layer == StaticAbilityLayer.RULES && params.containsKey("GlobalRule")) {
|
if (layer == StaticAbilityLayer.RULES && params.containsKey("GlobalRule")) {
|
||||||
final StaticEffects effects = game.getStaticEffects();
|
|
||||||
effects.setGlobalRuleChange(GlobalRuleChange.fromString(params.get("GlobalRule")));
|
effects.setGlobalRuleChange(GlobalRuleChange.fromString(params.get("GlobalRule")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,8 +202,6 @@ public final class StaticAbilityContinuous {
|
|||||||
// update keywords with Chosen parts
|
// update keywords with Chosen parts
|
||||||
final String hostCardUID = Integer.toString(hostCard.getId()); // Protection with "doesn't remove" effect
|
final String hostCardUID = Integer.toString(hostCard.getId()); // Protection with "doesn't remove" effect
|
||||||
|
|
||||||
final ColorSet colorsYouCtrl = CardUtil.getColorsYouCtrl(controller);
|
|
||||||
|
|
||||||
Iterables.removeIf(addKeywords, new Predicate<String>() {
|
Iterables.removeIf(addKeywords, new Predicate<String>() {
|
||||||
@Override
|
@Override
|
||||||
public boolean apply(String input) {
|
public boolean apply(String input) {
|
||||||
@@ -246,6 +249,8 @@ public final class StaticAbilityContinuous {
|
|||||||
}
|
}
|
||||||
// two variants for Red vs. red in keyword
|
// two variants for Red vs. red in keyword
|
||||||
if (input.contains("ColorsYouCtrl") || input.contains("colorsYouCtrl")) {
|
if (input.contains("ColorsYouCtrl") || input.contains("colorsYouCtrl")) {
|
||||||
|
final ColorSet colorsYouCtrl = CardUtil.getColorsYouCtrl(controller);
|
||||||
|
|
||||||
for (byte color : colorsYouCtrl) {
|
for (byte color : colorsYouCtrl) {
|
||||||
final String colorWord = MagicColor.toLongString(color);
|
final String colorWord = MagicColor.toLongString(color);
|
||||||
String y = input.replaceAll("ColorsYouCtrl", StringUtils.capitalize(colorWord));
|
String y = input.replaceAll("ColorsYouCtrl", StringUtils.capitalize(colorWord));
|
||||||
@@ -718,6 +723,7 @@ public final class StaticAbilityContinuous {
|
|||||||
// add P/T bonus
|
// add P/T bonus
|
||||||
if (layer == StaticAbilityLayer.MODIFYPT) {
|
if (layer == StaticAbilityLayer.MODIFYPT) {
|
||||||
if (addP.contains("Affected")) {
|
if (addP.contains("Affected")) {
|
||||||
|
// TODO don't calculate these above if this gets used instead
|
||||||
powerBonus = AbilityUtils.calculateAmount(affectedCard, addP, stAb, true);
|
powerBonus = AbilityUtils.calculateAmount(affectedCard, addP, stAb, true);
|
||||||
}
|
}
|
||||||
if (addT.contains("Affected")) {
|
if (addT.contains("Affected")) {
|
||||||
|
|||||||
Reference in New Issue
Block a user