mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 02:38:02 +00:00
Merge pull request #1906 from Northmoc/ticket
UNF: Tickets initial implementation
This commit is contained in:
@@ -66,6 +66,16 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stringBuilder.append(pronoun ? "they" : who).append(" ");
|
stringBuilder.append(pronoun ? "they" : who).append(" ");
|
||||||
|
final String typeName = CounterType.getType(sa.getParam("CounterType")).getName().toLowerCase();
|
||||||
|
|
||||||
|
final List<String> playerCounters = Arrays.asList("energy", "experience", "poison", "ticket");
|
||||||
|
if (playerCounters.contains(typeName)) {
|
||||||
|
stringBuilder.append(pronoun ? "get " : "gets ");
|
||||||
|
stringBuilder.append(Lang.nounWithNumeralExceptOne(AbilityUtils.calculateAmount(card,
|
||||||
|
sa.getParamOrDefault("CounterNum", "1"), sa), typeName + " counter"));
|
||||||
|
stringBuilder.append(".");
|
||||||
|
return stringBuilder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
String desc = sa.getDescription();
|
String desc = sa.getDescription();
|
||||||
boolean forEach = desc.contains("for each");
|
boolean forEach = desc.contains("for each");
|
||||||
@@ -105,7 +115,6 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
|||||||
stringBuilder.append("up to ");
|
stringBuilder.append("up to ");
|
||||||
}
|
}
|
||||||
|
|
||||||
final String typeName = CounterType.getType(sa.getParam("CounterType")).getName().toLowerCase();
|
|
||||||
stringBuilder.append(Lang.nounWithNumeralExceptOne(amount, typeName + " counter"));
|
stringBuilder.append(Lang.nounWithNumeralExceptOne(amount, typeName + " counter"));
|
||||||
stringBuilder.append(divAsChoose || divRandom ? " among " : " on ");
|
stringBuilder.append(divAsChoose || divRandom ? " among " : " on ");
|
||||||
|
|
||||||
|
|||||||
@@ -385,6 +385,8 @@ public enum CounterEnumType {
|
|||||||
|
|
||||||
POISON("POISN"),
|
POISON("POISN"),
|
||||||
|
|
||||||
|
TICKET("TICKET"),
|
||||||
|
|
||||||
// Keyword Counters
|
// Keyword Counters
|
||||||
/*
|
/*
|
||||||
FLYING("Flying"),
|
FLYING("Flying"),
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ public class VField implements IVDoc<CField> {
|
|||||||
private final FLabel lblPoison = new FLabel.Builder().fontAlign(SwingConstants.CENTER).fontStyle(Font.BOLD).icon(FSkin.getImage(FSkinProp.IMG_ZONE_POISON)).iconInBackground().build();
|
private final FLabel lblPoison = new FLabel.Builder().fontAlign(SwingConstants.CENTER).fontStyle(Font.BOLD).icon(FSkin.getImage(FSkinProp.IMG_ZONE_POISON)).iconInBackground().build();
|
||||||
private final FLabel lblEnergy = new FLabel.Builder().fontAlign(SwingConstants.CENTER).fontStyle(Font.BOLD).icon(FSkin.getImage(FSkinProp.IMG_ENERGY)).iconInBackground().build();
|
private final FLabel lblEnergy = new FLabel.Builder().fontAlign(SwingConstants.CENTER).fontStyle(Font.BOLD).icon(FSkin.getImage(FSkinProp.IMG_ENERGY)).iconInBackground().build();
|
||||||
private final FLabel lblExperience = new FLabel.Builder().fontAlign(SwingConstants.CENTER).fontStyle(Font.BOLD).icon(FSkin.getImage(FSkinProp.IMG_EXPERIENCE)).iconInBackground().build();
|
private final FLabel lblExperience = new FLabel.Builder().fontAlign(SwingConstants.CENTER).fontStyle(Font.BOLD).icon(FSkin.getImage(FSkinProp.IMG_EXPERIENCE)).iconInBackground().build();
|
||||||
|
private final FLabel lblTicket = new FLabel.Builder().fontAlign(SwingConstants.CENTER).fontStyle(Font.BOLD).icon(FSkin.getImage(FSkinProp.IMG_TICKET)).iconInBackground().build();
|
||||||
|
|
||||||
private final PhaseIndicator phaseIndicator = new PhaseIndicator();
|
private final PhaseIndicator phaseIndicator = new PhaseIndicator();
|
||||||
|
|
||||||
@@ -113,6 +114,7 @@ public class VField implements IVDoc<CField> {
|
|||||||
lblPoison.setFocusable(false);
|
lblPoison.setFocusable(false);
|
||||||
lblEnergy.setFocusable(false);
|
lblEnergy.setFocusable(false);
|
||||||
lblExperience.setFocusable(false);
|
lblExperience.setFocusable(false);
|
||||||
|
lblTicket.setFocusable(false);
|
||||||
|
|
||||||
avatarArea.setOpaque(false);
|
avatarArea.setOpaque(false);
|
||||||
avatarArea.setBackground(FSkin.getColor(FSkin.Colors.CLR_HOVER));
|
avatarArea.setBackground(FSkin.getColor(FSkin.Colors.CLR_HOVER));
|
||||||
@@ -215,12 +217,29 @@ public class VField implements IVDoc<CField> {
|
|||||||
detailsPanel.updateZones();
|
detailsPanel.updateZones();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addLblExperience() {
|
private void addLblTicket() {
|
||||||
if (lblExperience.isShowing() || lblEnergy.isShowing()) {
|
if (lblTicket.isShowing() || lblExperience.isShowing() || lblEnergy.isShowing() || lblPoison.isShowing()) {
|
||||||
return; // energy takes precedence
|
return; // experience, energy, poison take precedence
|
||||||
}
|
}
|
||||||
if (lblExperience.isShowing() || lblPoison.isShowing()) {
|
avatarArea.remove(lblLife);
|
||||||
return; // poison takes precedence
|
lblLife.setIcon(FSkin.getImage(FSkinProp.ICO_QUEST_LIFE));
|
||||||
|
avatarArea.add(lblLife, "w 50%!, h 20px!, split 2");
|
||||||
|
avatarArea.add(lblTicket, "w 50%!, h 20px!, wrap");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void removeLblTicket() {
|
||||||
|
if (!lblTicket.isShowing()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
avatarArea.remove(lblTicket);
|
||||||
|
avatarArea.remove(lblLife);
|
||||||
|
avatarArea.add(lblLife, "w 100%!, h 20px!, wrap");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void addLblExperience() {
|
||||||
|
if (lblExperience.isShowing() || lblEnergy.isShowing() || lblPoison.isShowing()) {
|
||||||
|
return; // energy and poison take precedence
|
||||||
}
|
}
|
||||||
avatarArea.remove(lblLife);
|
avatarArea.remove(lblLife);
|
||||||
lblLife.setIcon(FSkin.getImage(FSkinProp.ICO_QUEST_LIFE));
|
lblLife.setIcon(FSkin.getImage(FSkinProp.ICO_QUEST_LIFE));
|
||||||
@@ -288,10 +307,12 @@ public class VField implements IVDoc<CField> {
|
|||||||
final int poison = player.getCounters(CounterEnumType.POISON);
|
final int poison = player.getCounters(CounterEnumType.POISON);
|
||||||
final int energy = player.getCounters(CounterEnumType.ENERGY);
|
final int energy = player.getCounters(CounterEnumType.ENERGY);
|
||||||
final int experience = player.getCounters(CounterEnumType.EXPERIENCE);
|
final int experience = player.getCounters(CounterEnumType.EXPERIENCE);
|
||||||
|
final int ticket = player.getCounters(CounterEnumType.TICKET);
|
||||||
|
|
||||||
if (poison > 0) {
|
if (poison > 0) {
|
||||||
removeLblEnergy();
|
removeLblEnergy();
|
||||||
removeLblExperience();
|
removeLblExperience();
|
||||||
|
removeLblTicket();
|
||||||
addLblPoison();
|
addLblPoison();
|
||||||
lblPoison.setText(String.valueOf(poison));
|
lblPoison.setText(String.valueOf(poison));
|
||||||
if (poison < POISON_CRITICAL) {
|
if (poison < POISON_CRITICAL) {
|
||||||
@@ -305,6 +326,7 @@ public class VField implements IVDoc<CField> {
|
|||||||
|
|
||||||
if (energy > 0) {
|
if (energy > 0) {
|
||||||
removeLblExperience();
|
removeLblExperience();
|
||||||
|
removeLblTicket();
|
||||||
if (poison == 0) {
|
if (poison == 0) {
|
||||||
addLblEnergy();
|
addLblEnergy();
|
||||||
lblEnergy.setText(String.valueOf(energy));
|
lblEnergy.setText(String.valueOf(energy));
|
||||||
@@ -314,6 +336,7 @@ public class VField implements IVDoc<CField> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (experience > 0) {
|
if (experience > 0) {
|
||||||
|
removeLblTicket();
|
||||||
if (poison == 0 && energy == 0) {
|
if (poison == 0 && energy == 0) {
|
||||||
addLblExperience();
|
addLblExperience();
|
||||||
lblExperience.setText(String.valueOf(experience));
|
lblExperience.setText(String.valueOf(experience));
|
||||||
@@ -322,6 +345,15 @@ public class VField implements IVDoc<CField> {
|
|||||||
removeLblExperience();
|
removeLblExperience();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ticket > 0) {
|
||||||
|
if (poison == 0 && energy == 0 && experience == 0) {
|
||||||
|
addLblTicket();
|
||||||
|
lblTicket.setText(String.valueOf(ticket));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
removeLblTicket();
|
||||||
|
}
|
||||||
|
|
||||||
final boolean highlighted = isHighlighted();
|
final boolean highlighted = isHighlighted();
|
||||||
this.avatarArea.setBorder(highlighted ? borderAvatarHighlighted : borderAvatarSimple );
|
this.avatarArea.setBorder(highlighted ? borderAvatarHighlighted : borderAvatarSimple );
|
||||||
this.avatarArea.setOpaque(highlighted);
|
this.avatarArea.setOpaque(highlighted);
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ public class CardFaceSymbols {
|
|||||||
MANA_IMAGES.put("T", FSkin.getImage(FSkinProp.IMG_TAP));
|
MANA_IMAGES.put("T", FSkin.getImage(FSkinProp.IMG_TAP));
|
||||||
MANA_IMAGES.put("Q", FSkin.getImage(FSkinProp.IMG_UNTAP));
|
MANA_IMAGES.put("Q", FSkin.getImage(FSkinProp.IMG_UNTAP));
|
||||||
MANA_IMAGES.put("E", FSkin.getImage(FSkinProp.IMG_ENERGY, 40, 40));
|
MANA_IMAGES.put("E", FSkin.getImage(FSkinProp.IMG_ENERGY, 40, 40));
|
||||||
|
MANA_IMAGES.put("TK", FSkin.getImage(FSkinProp.IMG_TICKET, 40, 40));
|
||||||
MANA_IMAGES.put("EXPERIENCE", FSkin.getImage(FSkinProp.IMG_EXPERIENCE, 40, 30));
|
MANA_IMAGES.put("EXPERIENCE", FSkin.getImage(FSkinProp.IMG_EXPERIENCE, 40, 30));
|
||||||
MANA_IMAGES.put("CHAOS", FSkin.getImage(FSkinProp.IMG_CHAOS));
|
MANA_IMAGES.put("CHAOS", FSkin.getImage(FSkinProp.IMG_CHAOS));
|
||||||
MANA_IMAGES.put("slash", FSkin.getImage(FSkinProp.IMG_SLASH));
|
MANA_IMAGES.put("slash", FSkin.getImage(FSkinProp.IMG_SLASH));
|
||||||
|
|||||||
@@ -1463,6 +1463,7 @@ public class FSkin {
|
|||||||
addEncodingSymbol("S", FSkinProp.IMG_MANA_SNOW);
|
addEncodingSymbol("S", FSkinProp.IMG_MANA_SNOW);
|
||||||
addEncodingSymbol("T", FSkinProp.IMG_TAP);
|
addEncodingSymbol("T", FSkinProp.IMG_TAP);
|
||||||
addEncodingSymbol("E", FSkinProp.IMG_ENERGY);
|
addEncodingSymbol("E", FSkinProp.IMG_ENERGY);
|
||||||
|
addEncodingSymbol("TK", FSkinProp.IMG_TICKET);
|
||||||
addEncodingSymbol("EXPERIENCE", FSkinProp.IMG_EXPERIENCE);
|
addEncodingSymbol("EXPERIENCE", FSkinProp.IMG_EXPERIENCE);
|
||||||
addEncodingSymbol("A-", FSkinProp.IMG_ALCHEMY);
|
addEncodingSymbol("A-", FSkinProp.IMG_ALCHEMY);
|
||||||
|
|
||||||
|
|||||||
@@ -193,6 +193,7 @@ public enum FSkinImage implements FImage {
|
|||||||
COUNTERS3 (FSkinProp.IMG_COUNTERS3, SourceFile.ICONS),
|
COUNTERS3 (FSkinProp.IMG_COUNTERS3, SourceFile.ICONS),
|
||||||
COUNTERS_MULTI (FSkinProp.IMG_COUNTERS_MULTI, SourceFile.ICONS),
|
COUNTERS_MULTI (FSkinProp.IMG_COUNTERS_MULTI, SourceFile.ICONS),
|
||||||
ENERGY (FSkinProp.IMG_ENERGY, SourceFile.ICONS),
|
ENERGY (FSkinProp.IMG_ENERGY, SourceFile.ICONS),
|
||||||
|
TICKET (FSkinProp.IMG_TICKET, SourceFile.ICONS),
|
||||||
|
|
||||||
//Dock Icons
|
//Dock Icons
|
||||||
SHORTCUTS (FSkinProp.ICO_SHORTCUTS, SourceFile.ICONS),
|
SHORTCUTS (FSkinProp.ICO_SHORTCUTS, SourceFile.ICONS),
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ public class TextRenderer {
|
|||||||
Forge.getAssets().symbolLookup().put("S", FSkinImage.MANA_SNOW);
|
Forge.getAssets().symbolLookup().put("S", FSkinImage.MANA_SNOW);
|
||||||
Forge.getAssets().symbolLookup().put("T", FSkinImage.TAP);
|
Forge.getAssets().symbolLookup().put("T", FSkinImage.TAP);
|
||||||
Forge.getAssets().symbolLookup().put("E", FSkinImage.ENERGY);
|
Forge.getAssets().symbolLookup().put("E", FSkinImage.ENERGY);
|
||||||
|
Forge.getAssets().symbolLookup().put("TK", FSkinImage.TICKET);
|
||||||
Forge.getAssets().symbolLookup().put("AE", FSkinImage.AETHER_SHARD);
|
Forge.getAssets().symbolLookup().put("AE", FSkinImage.AETHER_SHARD);
|
||||||
Forge.getAssets().symbolLookup().put("PW", FSkinImage.PW_BADGE_COMMON);
|
Forge.getAssets().symbolLookup().put("PW", FSkinImage.PW_BADGE_COMMON);
|
||||||
Forge.getAssets().symbolLookup().put("CR", FSkinImage.QUEST_COINSTACK);
|
Forge.getAssets().symbolLookup().put("CR", FSkinImage.QUEST_COINSTACK);
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ public class CardFaceSymbols {
|
|||||||
Forge.getAssets().manaImages().put("S", FSkinImage.MANA_SNOW);
|
Forge.getAssets().manaImages().put("S", FSkinImage.MANA_SNOW);
|
||||||
Forge.getAssets().manaImages().put("T", FSkinImage.TAP);
|
Forge.getAssets().manaImages().put("T", FSkinImage.TAP);
|
||||||
Forge.getAssets().manaImages().put("E", FSkinImage.ENERGY);
|
Forge.getAssets().manaImages().put("E", FSkinImage.ENERGY);
|
||||||
|
Forge.getAssets().manaImages().put("TK", FSkinImage.TICKET);
|
||||||
Forge.getAssets().manaImages().put("slash", FSkinImage.SLASH);
|
Forge.getAssets().manaImages().put("slash", FSkinImage.SLASH);
|
||||||
Forge.getAssets().manaImages().put("attack", FSkinImage.ATTACK);
|
Forge.getAssets().manaImages().put("attack", FSkinImage.ATTACK);
|
||||||
Forge.getAssets().manaImages().put("defend", FSkinImage.DEFEND);
|
Forge.getAssets().manaImages().put("defend", FSkinImage.DEFEND);
|
||||||
|
|||||||
@@ -467,6 +467,7 @@ public class VPlayerPanel extends FContainer {
|
|||||||
private int poisonCounters = player.getCounters(CounterEnumType.POISON);
|
private int poisonCounters = player.getCounters(CounterEnumType.POISON);
|
||||||
private int energyCounters = player.getCounters(CounterEnumType.ENERGY);
|
private int energyCounters = player.getCounters(CounterEnumType.ENERGY);
|
||||||
private int experienceCounters = player.getCounters(CounterEnumType.EXPERIENCE);
|
private int experienceCounters = player.getCounters(CounterEnumType.EXPERIENCE);
|
||||||
|
private int ticketCounters = player.getCounters(CounterEnumType.TICKET);
|
||||||
private String lifeStr = String.valueOf(life);
|
private String lifeStr = String.valueOf(life);
|
||||||
|
|
||||||
private LifeLabel() {
|
private LifeLabel() {
|
||||||
@@ -515,7 +516,7 @@ public class VPlayerPanel extends FContainer {
|
|||||||
adjustHeight = 1;
|
adjustHeight = 1;
|
||||||
float divider = Gdx.app.getGraphics().getHeight() > 900 ? 1.2f : 2f;
|
float divider = Gdx.app.getGraphics().getHeight() > 900 ? 1.2f : 2f;
|
||||||
if(Forge.altPlayerLayout && !Forge.altZoneTabs && Forge.isLandscapeMode()) {
|
if(Forge.altPlayerLayout && !Forge.altZoneTabs && Forge.isLandscapeMode()) {
|
||||||
if (poisonCounters == 0 && energyCounters == 0 && experienceCounters == 0) {
|
if (poisonCounters == 0 && energyCounters == 0 && experienceCounters == 0 && ticketCounters ==0) {
|
||||||
g.fillRect(Color.DARK_GRAY, 0, 0, INFO2_FONT.getBounds(lifeStr).width+1, INFO2_FONT.getBounds(lifeStr).height+1);
|
g.fillRect(Color.DARK_GRAY, 0, 0, INFO2_FONT.getBounds(lifeStr).width+1, INFO2_FONT.getBounds(lifeStr).height+1);
|
||||||
g.drawText(lifeStr, INFO2_FONT, getInfoForeColor().getColor(), 0, 0, getWidth(), getHeight(), false, Align.left, false);
|
g.drawText(lifeStr, INFO2_FONT, getInfoForeColor().getColor(), 0, 0, getWidth(), getHeight(), false, Align.left, false);
|
||||||
} else {
|
} else {
|
||||||
@@ -544,6 +545,12 @@ public class VPlayerPanel extends FContainer {
|
|||||||
g.drawText(String.valueOf(experienceCounters), INFO_FONT, getInfoForeColor().getColor(), textStart, (halfHeight*mod)+2, textWidth, halfHeight, false, Align.left, false);
|
g.drawText(String.valueOf(experienceCounters), INFO_FONT, getInfoForeColor().getColor(), textStart, (halfHeight*mod)+2, textWidth, halfHeight, false, Align.left, false);
|
||||||
mod+=1;
|
mod+=1;
|
||||||
}
|
}
|
||||||
|
if (ticketCounters > 0) {
|
||||||
|
g.fillRect(Color.DARK_GRAY, 0, (halfHeight*mod)+2, INFO_FONT.getBounds(String.valueOf(ticketCounters)).width+halfHeight+1, INFO_FONT.getBounds(String.valueOf(ticketCounters)).height+1);
|
||||||
|
g.drawImage(FSkinImage.TICKET, 0, (halfHeight*mod)+2, halfHeight, halfHeight);
|
||||||
|
g.drawText(String.valueOf(ticketCounters), INFO_FONT, getInfoForeColor().getColor(), textStart, (halfHeight*mod)+2, textWidth, halfHeight, false, Align.left, false);
|
||||||
|
mod+=1;
|
||||||
|
}
|
||||||
adjustHeight = (mod > 2) && (avatar.getHeight() < halfHeight*mod)? mod : 1;
|
adjustHeight = (mod > 2) && (avatar.getHeight() < halfHeight*mod)? mod : 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
7
forge-gui/res/cardsfolder/upcoming/blorbian_buddy.txt
Normal file
7
forge-gui/res/cardsfolder/upcoming/blorbian_buddy.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Name:Blorbian Buddy
|
||||||
|
ManaCost:G
|
||||||
|
Types:Creature Alien Guest
|
||||||
|
PT:1/1
|
||||||
|
K:Trample
|
||||||
|
A:AB$ PutCounter | Cost$ G T | Defined$ You | CounterType$ TICKET | AILogic$ AtOppEOT | SpellDescription$ You get {TK} (a ticket counter).
|
||||||
|
Oracle:Trample\n{G}, {T}: You get {TK} (a ticket counter).
|
||||||
6
forge-gui/res/cardsfolder/upcoming/ticket_turbotubes.txt
Normal file
6
forge-gui/res/cardsfolder/upcoming/ticket_turbotubes.txt
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
Name:Ticket Turbotubes
|
||||||
|
ManaCost:3
|
||||||
|
Types:Artifact
|
||||||
|
A:AB$ Mana | Cost$ T | Produced$ Any | SpellDescription$ Add one mana of any color.
|
||||||
|
A:AB$ PutCounter | Cost$ 3 T | Defined$ You | CounterType$ TICKET | AILogic$ AtOppEOT | SpellDescription$ You get {TK} (a ticket counter).
|
||||||
|
Oracle:{T}: Add one mana of any color.\n{3}, {T}: You get {TK} (a ticket counter).
|
||||||
@@ -59,6 +59,7 @@ Chimera:Chimeras
|
|||||||
Citizen:Citizens
|
Citizen:Citizens
|
||||||
Clamfolk:Clamfolk
|
Clamfolk:Clamfolk
|
||||||
Cleric:Clerics
|
Cleric:Clerics
|
||||||
|
Clown:Clowns
|
||||||
Cockatrice:Cockatrices
|
Cockatrice:Cockatrices
|
||||||
Construct:Constructs
|
Construct:Constructs
|
||||||
Cow:Cows
|
Cow:Cows
|
||||||
@@ -116,6 +117,7 @@ Gorgon:Gorgons
|
|||||||
Graveborn:Graveborn
|
Graveborn:Graveborn
|
||||||
Gremlin:Gremlins
|
Gremlin:Gremlins
|
||||||
Griffin:Griffins
|
Griffin:Griffins
|
||||||
|
Guest:Guests
|
||||||
Hag:Hags
|
Hag:Hags
|
||||||
Halfling:Halflings
|
Halfling:Halflings
|
||||||
Hamster:Hamsters
|
Hamster:Hamsters
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 463 KiB After Width: | Height: | Size: 1.0 MiB |
@@ -89,6 +89,7 @@ public enum FSkinProp {
|
|||||||
IMG_HDZONE_MANAPOOL (new int[] {2, 6, 128, 128}, PropType.BUTTONS),
|
IMG_HDZONE_MANAPOOL (new int[] {2, 6, 128, 128}, PropType.BUTTONS),
|
||||||
|
|
||||||
IMG_ZONE_POISON (new int[] {320, 80, 40, 40}, PropType.IMAGE),
|
IMG_ZONE_POISON (new int[] {320, 80, 40, 40}, PropType.IMAGE),
|
||||||
|
IMG_TICKET (new int[] {360, 80, 40, 40}, PropType.IMAGE),
|
||||||
|
|
||||||
//mana images
|
//mana images
|
||||||
IMG_MANA_B (new int[] {166, 2, 80, 80}, PropType.MANAICONS),
|
IMG_MANA_B (new int[] {166, 2, 80, 80}, PropType.MANAICONS),
|
||||||
|
|||||||
Reference in New Issue
Block a user