diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0.java index 442f6d4..c6bbd8f 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0.java @@ -54,7 +54,9 @@ public class Building0 extends BuildingCard { return new Building0(getEra(),getPrice()); } @Override - public void applyEffect(Player player) { + public void applyEffect(Player player) throws IllegalArgumentException { + if(!player.buildingCards.contains(this)) + throw new IllegalArgumentException(); int min_temp=player.getNType(CharacterType.INVENTOR); for(CharacterType type : CharacterType.values()) { diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10.java index e9b5c8a..83c03db 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10.java @@ -19,7 +19,9 @@ public class Building10 extends BuildingCard { return new Building8(getEra(),getPrice()); } @Override - public void applyEffect(Player player) { + public void applyEffect(Player player) throws IllegalArgumentException { + if(!player.buildingCards.contains(this)) + throw new IllegalArgumentException(); HashMap map = new HashMap(); int numSet=player.getNType(CharacterType.INVENTOR); diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.java index 052ce6b..7acf4f6 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.java @@ -26,7 +26,9 @@ public class Building11 extends BuildingCard { return new Building11(getEra(),getPrice(), getIcon(), getPrestigeMul()); } @Override - public void applyEffect(Player player) { + public void applyEffect(Player player) throws IllegalArgumentException { + if(!player.buildingCards.contains(this)) + throw new IllegalArgumentException(); player.addPrestige(player.getNType(getIcon()) * this.getPrestigeMul()); } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.java index fe782c5..2f08dfe 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.java @@ -15,7 +15,9 @@ public class Building13 extends BuildingCard{ return new Building13(getEra(),getPrice()); } @Override - public void applyEffect(Player player) { + public void applyEffect(Player player) throws IllegalArgumentException { + if(!player.buildingCards.contains(this)) + throw new IllegalArgumentException(); player.addPrestige(25); } @Override diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4.java index 8fa154b..33c00d2 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4.java @@ -56,7 +56,9 @@ public class Building4 extends BuildingCard { return new Building4(getEra(),getPrice()); } @Override - public void applyEffect(Player player) { + public void applyEffect(Player player) throws IllegalArgumentException { + if(!player.buildingCards.contains(this)) + throw new IllegalArgumentException(); HashMap map = new HashMap<>(); for(int i=0;i<10;i++) { diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8.java index f9433c5..05b5c75 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8.java @@ -20,8 +20,9 @@ public class Building8 extends BuildingCard { return new Building8(getEra(),getPrice()); } @Override - public void applyEffect(Player player) { - + public void applyEffect(Player player) throws IllegalArgumentException { + if(!player.buildingCards.contains(this)) + throw new IllegalArgumentException(); for (Builder builder : player.builders) { player.addPrestige(builder.getPrestigeValue() * 2); }