Switch to Maven file structure
This commit is contained in:
125
src/main/java/server/partyquest/MonsterCarnivalParty.java
Normal file
125
src/main/java/server/partyquest/MonsterCarnivalParty.java
Normal file
@@ -0,0 +1,125 @@
|
||||
package server.partyquest;
|
||||
|
||||
import client.MapleCharacter;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import server.maps.MapleMap;
|
||||
import tools.MaplePacketCreator;
|
||||
|
||||
/**
|
||||
* @author Rob
|
||||
*/
|
||||
public class MonsterCarnivalParty {
|
||||
|
||||
private List<MapleCharacter> members = new LinkedList<>();
|
||||
private MapleCharacter leader;
|
||||
private byte team;
|
||||
private short availableCP = 0, totalCP = 0;
|
||||
private int summons = 8;
|
||||
private boolean winner = false;
|
||||
|
||||
public MonsterCarnivalParty(final MapleCharacter owner, final List<MapleCharacter> members1, final byte team1) {
|
||||
leader = owner;
|
||||
members = members1;
|
||||
team = team1;
|
||||
|
||||
for (final MapleCharacter chr : members) {
|
||||
chr.setMonsterCarnivalParty(this);
|
||||
chr.setTeam(team);
|
||||
}
|
||||
}
|
||||
|
||||
public final MapleCharacter getLeader() {
|
||||
return leader;
|
||||
}
|
||||
|
||||
public void addCP(MapleCharacter player, int ammount) {
|
||||
totalCP += ammount;
|
||||
availableCP += ammount;
|
||||
player.addCP(ammount);
|
||||
}
|
||||
|
||||
public int getTotalCP() {
|
||||
return totalCP;
|
||||
}
|
||||
|
||||
public int getAvailableCP() {
|
||||
return availableCP;
|
||||
}
|
||||
|
||||
public void useCP(MapleCharacter player, int ammount) {
|
||||
availableCP -= ammount;
|
||||
player.useCP(ammount);
|
||||
}
|
||||
|
||||
public List<MapleCharacter> getMembers() {
|
||||
return members;
|
||||
}
|
||||
|
||||
public int getTeam() {
|
||||
return team;
|
||||
}
|
||||
|
||||
public void warpOut(final int map) {
|
||||
for (MapleCharacter chr : members) {
|
||||
chr.changeMap(map, 0);
|
||||
chr.setMonsterCarnivalParty(null);
|
||||
chr.setMonsterCarnival(null);
|
||||
}
|
||||
members.clear();
|
||||
}
|
||||
|
||||
public void warp(final MapleMap map, final int portalid) {
|
||||
for (MapleCharacter chr : members) {
|
||||
chr.changeMap(map, map.getPortal(portalid));
|
||||
}
|
||||
}
|
||||
|
||||
public void warpOut() {
|
||||
if (winner == true)
|
||||
warpOut(980000003 + (leader.getMonsterCarnival().getRoom() * 100));
|
||||
else
|
||||
warpOut(980000004 + (leader.getMonsterCarnival().getRoom() * 100));
|
||||
}
|
||||
|
||||
public boolean allInMap(MapleMap map) {
|
||||
boolean status = true;
|
||||
for (MapleCharacter chr : members) {
|
||||
if (chr.getMap() != map) {
|
||||
status = false;
|
||||
}
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
public void removeMember(MapleCharacter chr) {
|
||||
members.remove(chr);
|
||||
chr.changeMap(980000010);
|
||||
chr.setMonsterCarnivalParty(null);
|
||||
chr.setMonsterCarnival(null);
|
||||
}
|
||||
|
||||
public boolean isWinner() {
|
||||
return winner;
|
||||
}
|
||||
|
||||
public void setWinner(boolean status) {
|
||||
winner = status;
|
||||
}
|
||||
|
||||
public void displayMatchResult() {
|
||||
final String effect = winner ? "quest/carnival/win" : "quest/carnival/lose";
|
||||
|
||||
for (final MapleCharacter chr : members) {
|
||||
chr.announce(MaplePacketCreator.showEffect(effect));
|
||||
}
|
||||
}
|
||||
|
||||
public void summon() {
|
||||
this.summons--;
|
||||
}
|
||||
|
||||
public boolean canSummon() {
|
||||
return this.summons > 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user