-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBoss.java
148 lines (127 loc) · 3.22 KB
/
Boss.java
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
public class Boss extends Adventurer{
private int ppCount, ppMax, buff;
public Boss(){
super("Mewtwo", 100, "Psychic");
this.ppCount = 80;
this.ppMax = 80;
this.buff = 0;
}
public Boss(String name){
super(name, 100, "Psychic");
this.ppCount = 80;
this.ppMax = 80;
this.buff = 0;
}
public String getSpecialName() {
return "PP";
}
public int getSpecial() {
return ppCount;
}
public int getSpecialMax() {
return ppMax;
}
public void setSpecial(int n) {
ppCount = n;
}
public void setBuff(int n) {
this.buff = n;
}
public int getBuff() {
return buff;
}
public String attack(Adventurer other) {
int baseDmg = 4;
int sleep = (int)(Math.random() * 101);
if(this.getSleepStatus() == true && sleep < 75){
return this.toString() + " is asleep!";
}
this.setSleepStatus(false);
if(other.getProtect() == true){
baseDmg = 0;
other.setProtectStatus(false);
}
if(getBuff() > 0) {
baseDmg*=2;
setBuff(0);
}
if(getSpecial() != getSpecialMax()) {
setSpecial(getSpecial() + 1);
}
other.applyDamage(baseDmg);
return this.toString() + " used Psychic! It did " + baseDmg + " dmg!";
}
public String support(Adventurer other) {
int baseDmg = 6;
int sleep = (int)(Math.random() * 101);
if(this.getSleepStatus() == true && sleep < 75){
return this.toString() + " is asleep!";
}
this.setSleepStatus(false);
if(other.getProtect() == true){
baseDmg = 0;
other.setProtectStatus(false);
}
if(getSpecial() - 10 > 0) {
if(getBuff() > 0) {
baseDmg*=2;
setBuff(0);
}
setSpecial(getSpecial()-10);
other.applyDamage(baseDmg);
setBuff(1);
return this.toString() + " used Power-Up Punch! It did " + baseDmg + " dmg!";
}else {
return this.toString() + " has not enough PP!";
}
}
public String support() {
int sleep = (int)(Math.random() * 101);
if(this.getSleepStatus() == true && sleep < 75){
return this.toString() + " is asleep!";
}
this.setSleepStatus(false);
if(getSpecial() - 20 > 0) {
if(getHP() < getmaxHP()/2) {
setHP(getHP() + getmaxHP());
setSpecial(getSpecial()-20);
return this.toString() + " used Recover! It restored " + getmaxHP()/2 + " HP!";
}else {
int healAmt = getmaxHP() - getHP();
setHP(getmaxHP());
if(healAmt > 0) {
setSpecial(getSpecial()-20);
return this.toString() + " used Recover! It restored " + healAmt + " HP!";
}else {
setSpecial(getSpecial()-20);
return this.toString() + " used Recover! Its HP was already full";
}
}
}else {
return this.toString() + " has not enough PP!";
}
}
public String specialAttack(Adventurer other) {
int baseDmg = 10;
int sleep = (int)(Math.random() * 101);
if(this.getSleepStatus() == true && sleep < 75){
return this.toString() + " is asleep!";
}
this.setSleepStatus(false);
if(other.getProtect() == true){
baseDmg = 0;
other.setProtectStatus(false);
}
if(getSpecial() - 20 > 0) {
if(getBuff() > 0) {
baseDmg*=2;
setBuff(0);
}
setSpecial(getSpecial()-20);
other.applyDamage(baseDmg);
return this.toString() + " used Psyshock! It did " + baseDmg + " dmg!";
}else {
return this.toString() + " has not enough PP!";
}
}
}