-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAbilityManager.java
More file actions
89 lines (66 loc) · 2.52 KB
/
Copy pathAbilityManager.java
File metadata and controls
89 lines (66 loc) · 2.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package utils;
import java.util.ArrayList;
public class AbilityManager {
public AbilityManager() { }
public void weakKnees(final Card ripper, final Card victim) {
victim.setAttackDamage((victim.getAttackDamage() > Constants.TWO)
? (victim.getAttackDamage() - Constants.TWO)
: Constants.ZERO);
ripper.setHasAttackedThisTurn(true);
}
public void skyjack(final Card miraj, final Card victim) {
int health = miraj.getHealth();
miraj.setHealth(victim.getHealth());
victim.setHealth(health);
miraj.setHasAttackedThisTurn(true);
}
public void shapeshift(final Card cursed,
final Card victim,
final ArrayList<Card> affectedRow) {
int health = victim.getHealth();
victim.setHealth(victim.getAttackDamage());
victim.setAttackDamage(health);
if (victim.getHealth() == 0) {
affectedRow.remove(victim);
}
cursed.setHasAttackedThisTurn(true);
}
public void godsPlan(final Card disciple, final Card ally) {
ally.setHealth(ally.getHealth() + 2);
disciple.setHasAttackedThisTurn(true);
}
public void subZero(final Card hero, final ArrayList<Card> affectedRow) {
Card maxAttackCard = new Minion();
maxAttackCard.setAttackDamage(-1);
for (Card card : affectedRow) {
if (card.getAttackDamage() > maxAttackCard.getAttackDamage()) {
maxAttackCard = card;
}
}
maxAttackCard.setStunned(true);
hero.setHasAttackedThisTurn(true);
}
public void lowBlow(final Card hero, final ArrayList<Card> affectedRow) {
Card maxHealthCard = new Minion();
maxHealthCard.setHealth(-1);
for (Card card : affectedRow) {
if (card.getHealth() > maxHealthCard.getHealth()) {
maxHealthCard = card;
}
}
affectedRow.remove(maxHealthCard);
hero.setHasAttackedThisTurn(true);
}
public void earthBorn(final Card hero, final ArrayList<Card> affectedRow) {
for (Card card : affectedRow) {
card.setHealth(card.getHealth() + 1);
}
hero.setHasAttackedThisTurn(true);
}
public void bloodThirst(final Card hero, final ArrayList<Card> affectedRow) {
for (Card card : affectedRow) {
card.setAttackDamage(card.getAttackDamage() + 1);
}
hero.setHasAttackedThisTurn(true);
}
}