Adding Resistance to FP chars.

This commit is contained in:
marcins78@gmail.com
2011-11-20 15:58:06 +00:00
parent ba440a5873
commit 95512135d9
5 changed files with 48 additions and 13 deletions

View File

@@ -90,14 +90,17 @@ public class EventSerializer {
}
Map<Integer, Integer> charVitalities = gameStats.getCharVitalities();
Map<Integer, Integer> charThirdStats = gameStats.getThirdStats();
Map<Integer, Integer> charSiteNumbers = gameStats.getSiteNumbers();
Map<Integer, Integer> charResistances = gameStats.getCharResistances();
StringBuilder charStr = new StringBuilder();
for (Map.Entry<Integer, Integer> characters : gameStats.getCharStrengths().entrySet()) {
Integer charCardId = characters.getKey();
charStr.append("," + charCardId + "=" + characters.getValue() + "|" + charVitalities.get(charCardId));
if (charThirdStats.containsKey(charCardId))
charStr.append("|" + charThirdStats.get(charCardId));
if (charSiteNumbers.containsKey(charCardId))
charStr.append("|" + charSiteNumbers.get(charCardId));
else if (charResistances.containsKey(charCardId))
charStr.append("|R" + charResistances.get(charCardId));
}
if (charStr.length() > 0)
charStr.delete(0, 1);

View File

@@ -31,7 +31,8 @@ public class GameStats {
private Map<String, Integer> _threats = new HashMap<String, Integer>();
private Map<Integer, Integer> _charStrengths = new HashMap<Integer, Integer>();
private Map<Integer, Integer> _charVitalities = new HashMap<Integer, Integer>();
private Map<Integer, Integer> _thirdStats = new HashMap<Integer, Integer>();
private Map<Integer, Integer> _siteNumbers = new HashMap<Integer, Integer>();
private Map<Integer, Integer> _charResistances = new HashMap<Integer, Integer>();
/**
* @return If the stats have changed
@@ -122,12 +123,15 @@ public class GameStats {
Map<Integer, Integer> newCharStrengths = new HashMap<Integer, Integer>();
Map<Integer, Integer> newCharVitalities = new HashMap<Integer, Integer>();
Map<Integer, Integer> newThirdStats = new HashMap<Integer, Integer>();
Map<Integer, Integer> newSiteNumbers = new HashMap<Integer, Integer>();
Map<Integer, Integer> newCharResistances = new HashMap<Integer, Integer>();
for (PhysicalCard character : Filters.filterActive(game.getGameState(), game.getModifiersQuerying(), Filters.or(CardType.COMPANION, CardType.ALLY, CardType.MINION))) {
newCharStrengths.put(character.getCardId(), game.getModifiersQuerying().getStrength(game.getGameState(), character));
newCharVitalities.put(character.getCardId(), game.getModifiersQuerying().getVitality(game.getGameState(), character));
if (character.getBlueprint().getCardType() == CardType.MINION)
newThirdStats.put(character.getCardId(), game.getModifiersQuerying().getMinionSiteNumber(game.getGameState(), character));
newSiteNumbers.put(character.getCardId(), game.getModifiersQuerying().getMinionSiteNumber(game.getGameState(), character));
else
newCharResistances.put(character.getCardId(), game.getModifiersQuerying().getResistance(game.getGameState(), character));
}
if (!newCharStrengths.equals(_charStrengths)) {
@@ -140,9 +144,14 @@ public class GameStats {
_charVitalities = newCharVitalities;
}
if (!newThirdStats.equals(_thirdStats)) {
if (!newSiteNumbers.equals(_siteNumbers)) {
changed = true;
_thirdStats = newThirdStats;
_siteNumbers = newSiteNumbers;
}
if (!newCharResistances.equals(_charResistances)) {
changed = true;
_charResistances = newCharResistances;
}
Map<String, Integer> newThreats = new HashMap<String, Integer>();
@@ -211,8 +220,12 @@ public class GameStats {
return _charVitalities;
}
public Map<Integer, Integer> getThirdStats() {
return _thirdStats;
public Map<Integer, Integer> getSiteNumbers() {
return _siteNumbers;
}
public Map<Integer, Integer> getCharResistances() {
return _charResistances;
}
public GameStats makeACopy() {
@@ -230,7 +243,8 @@ public class GameStats {
copy._threats = _threats;
copy._charStrengths = _charStrengths;
copy._charVitalities = _charVitalities;
copy._thirdStats = _thirdStats;
copy._siteNumbers = _siteNumbers;
copy._charResistances = _charResistances;
return copy;
}
}

View File

@@ -112,6 +112,14 @@ body {
color: #ffffff;
}
.cardResistance {
text-align: center;
background-color: #16151a;
opacity: 1;
font-weight: bolder;
color: #ffffff;
}
.selectableCard > .borderOverlay {
border-color: #00af00;
cursor: pointer;

View File

@@ -713,6 +713,7 @@ var GameAnimations = Class.extend({
$(".cardStrength").css({display: "none"});
$(".cardVitality").css({display: "none"});
$(".cardSiteNumber").css({display: "none"});
$(".cardResistance").css({display: "none"});
var charStats = element.getAttribute("charStats");
if (charStats != null) {
@@ -723,8 +724,12 @@ var GameAnimations = Class.extend({
var cardStatArr = cardStats[1].split("|");
$(".cardStrength", cardDiv).html(cardStatArr[0]).css({display: ""});
$(".cardVitality", cardDiv).html(cardStatArr[1]).css({display: ""});
if (cardStatArr.length > 2)
$(".cardSiteNumber", cardDiv).html(cardStatArr[2]).css({display: ""});
if (cardStatArr.length > 2) {
if (cardStatArr[2].indexOf("R") == 0)
$(".cardResistance", cardDiv).html(cardStatArr[2].substring(1)).css({display: ""});
else
$(".cardSiteNumber", cardDiv).html(cardStatArr[2]).css({display: ""});
}
}
}

View File

@@ -1042,6 +1042,10 @@ var GempLotrGameUI = Class.extend({
cardSiteNumberDiv.css({display: "none"});
tokenOverlay.append(cardSiteNumberDiv);
var cardResistanceDiv = $("<div class='cardResistance'></div>");
cardResistanceDiv.css({display: "none"});
tokenOverlay.append(cardResistanceDiv);
cardDiv.data("card", card);
var sizeListeners = new Array();
@@ -1062,6 +1066,7 @@ var GempLotrGameUI = Class.extend({
$(".cardStrength", cardElem).css({position: "absolute", "border-radius": borderRadius, "font-size": fontPerc, left: x + "px", top: strengthY + "px", width: size, height: size});
$(".cardVitality", cardElem).css({position: "absolute", "border-radius": borderRadius, "font-size": fontPerc, left: x + "px", top: vitalityY + "px", width: size, height: size});
$(".cardSiteNumber", cardElem).css({position: "absolute", "border-radius": borderRadius, "font-size": fontPerc, left: x + "px", top: minionSiteNumberY + "px", width: size, height: size});
$(".cardResistance", cardElem).css({position: "absolute", "border-radius": borderRadius, "font-size": fontPerc, left: x + "px", top: minionSiteNumberY + "px", width: size, height: size});
}
};