Rename and clean up MapleParty

This commit is contained in:
P0nk
2021-09-09 21:44:09 +02:00
parent 5aa0368090
commit 714df342d9
24 changed files with 157 additions and 158 deletions
+16 -16
View File
@@ -161,7 +161,7 @@ public class Character extends AbstractCharacterObject {
private MapleMiniGame miniGame; private MapleMiniGame miniGame;
private MapleRockPaperScissor rps; private MapleRockPaperScissor rps;
private Mount maplemount; private Mount maplemount;
private MapleParty party; private Party party;
private final Pet[] pets = new Pet[3]; private final Pet[] pets = new Pet[3];
private MaplePlayerShop playerShop = null; private MaplePlayerShop playerShop = null;
private MapleShop shop = null; private MapleShop shop = null;
@@ -1477,7 +1477,7 @@ public class Character extends AbstractCharacterObject {
return lastVisited; return lastVisited;
} }
public void partyOperationUpdate(MapleParty party, List<Character> exPartyMembers) { public void partyOperationUpdate(Party party, List<Character> exPartyMembers) {
List<WeakReference<MapleMap>> mapids; List<WeakReference<MapleMap>> mapids;
petLock.lock(); petLock.lock();
@@ -1529,11 +1529,11 @@ public class Character extends AbstractCharacterObject {
} }
} }
private static void removePartyPlayerDoor(MapleParty party, Character target) { private static void removePartyPlayerDoor(Party party, Character target) {
target.removePartyDoor(party); target.removePartyDoor(party);
} }
private static void updatePartyTownDoors(MapleParty party, Character target, Character partyLeaver, List<Character> partyMembers) { private static void updatePartyTownDoors(Party party, Character target, Character partyLeaver, List<Character> partyMembers) {
if (partyLeaver != null) { if (partyLeaver != null) {
removePartyPlayerDoor(party, target); removePartyPlayerDoor(party, target);
} else { } else {
@@ -1679,11 +1679,11 @@ public class Character extends AbstractCharacterObject {
MapleTrade.cancelTrade(this, MapleTrade.TradeResult.UNSUCCESSFUL_ANOTHER_MAP); MapleTrade.cancelTrade(this, MapleTrade.TradeResult.UNSUCCESSFUL_ANOTHER_MAP);
this.closePlayerInteractions(); this.closePlayerInteractions();
MapleParty e = null; Party e = null;
if (this.getParty() != null && this.getParty().getEnemy() != null) { if (this.getParty() != null && this.getParty().getEnemy() != null) {
e = this.getParty().getEnemy(); e = this.getParty().getEnemy();
} }
final MapleParty k = e; final Party k = e;
sendPacket(warpPacket); sendPacket(warpPacket);
map.removePlayer(this); map.removePlayer(this);
@@ -4701,7 +4701,7 @@ public class Character extends AbstractCharacterObject {
} }
public void applyPartyDoor(MapleDoor door, boolean partyUpdate) { public void applyPartyDoor(MapleDoor door, boolean partyUpdate) {
MapleParty chrParty; Party chrParty;
prtLock.lock(); prtLock.lock();
try { try {
if (!partyUpdate) { if (!partyUpdate) {
@@ -4721,7 +4721,7 @@ public class Character extends AbstractCharacterObject {
public MapleDoor removePartyDoor(boolean partyUpdate) { public MapleDoor removePartyDoor(boolean partyUpdate) {
MapleDoor ret = null; MapleDoor ret = null;
MapleParty chrParty; Party chrParty;
prtLock.lock(); prtLock.lock();
try { try {
@@ -4742,7 +4742,7 @@ public class Character extends AbstractCharacterObject {
return ret; return ret;
} }
private void removePartyDoor(MapleParty formerParty) { // player is no longer registered at this party private void removePartyDoor(Party formerParty) { // player is no longer registered at this party
formerParty.removeDoor(id); formerParty.removeDoor(id);
} }
@@ -5413,7 +5413,7 @@ public class Character extends AbstractCharacterObject {
} }
} }
public MapleParty getParty() { public Party getParty() {
prtLock.lock(); prtLock.lock();
try { try {
return party; return party;
@@ -6191,7 +6191,7 @@ public class Character extends AbstractCharacterObject {
public boolean isPartyLeader() { public boolean isPartyLeader() {
prtLock.lock(); prtLock.lock();
try { try {
MapleParty party = getParty(); Party party = getParty();
return party != null && party.getLeaderId() == getId(); return party != null && party.getLeaderId() == getId();
} finally { } finally {
prtLock.unlock(); prtLock.unlock();
@@ -6509,7 +6509,7 @@ public class Character extends AbstractCharacterObject {
} }
public boolean leaveParty() { public boolean leaveParty() {
MapleParty party; Party party;
boolean partyLeader; boolean partyLeader;
prtLock.lock(); prtLock.lock();
@@ -6524,7 +6524,7 @@ public class Character extends AbstractCharacterObject {
if (partyLeader) { if (partyLeader) {
party.assignNewLeader(client); party.assignNewLeader(client);
} }
MapleParty.leaveParty(party, client); Party.leaveParty(party, client);
return true; return true;
} else { } else {
@@ -7127,7 +7127,7 @@ public class Character extends AbstractCharacterObject {
} }
ret.setPosition(portal.getPosition()); ret.setPosition(portal.getPosition());
int partyid = rs.getInt("party"); int partyid = rs.getInt("party");
MapleParty party = wserv.getParty(partyid); Party party = wserv.getParty(partyid);
if (party != null) { if (party != null) {
ret.mpc = party.getMemberById(ret.id); ret.mpc = party.getMemberById(ret.id);
if (ret.mpc != null) { if (ret.mpc != null) {
@@ -9261,7 +9261,7 @@ public class Character extends AbstractCharacterObject {
} }
} }
public void setParty(MapleParty p) { public void setParty(Party p) {
prtLock.lock(); prtLock.lock();
try { try {
if (p == null) { if (p == null) {
@@ -9677,7 +9677,7 @@ public class Character extends AbstractCharacterObject {
silentPartyUpdateInternal(getParty()); silentPartyUpdateInternal(getParty());
} }
private void silentPartyUpdateInternal(MapleParty chrParty) { private void silentPartyUpdateInternal(Party chrParty) {
if (chrParty != null) { if (chrParty != null) {
getWorldServer().updateParty(chrParty.getId(), PartyOperation.SILENT_UPDATE, getMPC()); getWorldServer().updateParty(chrParty.getId(), PartyOperation.SILENT_UPDATE, getMPC());
} }
+2 -2
View File
@@ -878,7 +878,7 @@ public class Client extends ChannelInboundHandlerAdapter {
private void removePartyPlayer(World wserv) { private void removePartyPlayer(World wserv) {
MapleMap map = player.getMap(); MapleMap map = player.getMap();
final MapleParty party = player.getParty(); final Party party = player.getParty();
final int idz = player.getId(); final int idz = player.getId();
if (party != null) { if (party != null) {
@@ -1097,7 +1097,7 @@ public class Client extends ChannelInboundHandlerAdapter {
if (partyid != null) { if (partyid != null) {
this.setPlayer(chr); this.setPlayer(chr);
MapleParty party = chr.getWorldServer().getParty(partyid); Party party = chr.getWorldServer().getParty(partyid);
chr.setParty(party); chr.setParty(party);
chr.getMPC(); chr.getMPC();
chr.leaveParty(); // thanks Vcoc for pointing out deleted characters would still stay in a party chr.leaveParty(); // thanks Vcoc for pointing out deleted characters would still stay in a party
@@ -36,8 +36,8 @@ import net.server.audit.locks.factory.MonitoredWriteLockFactory;
import net.server.services.BaseService; import net.server.services.BaseService;
import net.server.services.ServicesManager; import net.server.services.ServicesManager;
import net.server.services.type.ChannelServices; import net.server.services.type.ChannelServices;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import net.server.world.World; import net.server.world.World;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -317,7 +317,7 @@ public final class Channel {
} }
} }
public List<Character> getPartyMembers(MapleParty party) { public List<Character> getPartyMembers(Party party) {
List<Character> partym = new ArrayList<>(8); List<Character> partym = new ArrayList<>(8);
for (MaplePartyCharacter partychar : party.getMembers()) { for (MaplePartyCharacter partychar : party.getMembers()) {
if (partychar.getChannel() == getId()) { if (partychar.getChannel() == getId()) {
@@ -465,7 +465,7 @@ public final class Channel {
this.storedVars.put(key, val); this.storedVars.put(key, val);
} }
public int lookupPartyDojo(MapleParty party) { public int lookupPartyDojo(Party party) {
if(party == null) return -1; if(party == null) return -1;
Integer i = dojoParty.get(party.hashCode()); Integer i = dojoParty.get(party.hashCode());
@@ -476,7 +476,7 @@ public final class Channel {
return ingressDojo(isPartyDojo, null, fromStage); return ingressDojo(isPartyDojo, null, fromStage);
} }
public int ingressDojo(boolean isPartyDojo, MapleParty party, int fromStage) { public int ingressDojo(boolean isPartyDojo, Party party, int fromStage) {
lock.lock(); lock.lock();
try { try {
int dojoList = this.usedDojo; int dojoList = this.usedDojo;
@@ -516,7 +516,7 @@ public final class Channel {
} }
} }
private void freeDojoSlot(int slot, MapleParty party) { private void freeDojoSlot(int slot, Party party) {
int mask = 0b11111111111111111111; int mask = 0b11111111111111111111;
mask ^= (1 << slot); mask ^= (1 << slot);
@@ -594,7 +594,7 @@ public final class Channel {
this.dojoTask[slot] = TimerManager.getInstance().schedule(() -> { this.dojoTask[slot] = TimerManager.getInstance().schedule(() -> {
final int delta = (dojoMapId) % 100; final int delta = (dojoMapId) % 100;
final int dojoBaseMap = (slot < 5) ? 925030000 : 925020000; final int dojoBaseMap = (slot < 5) ? 925030000 : 925020000;
MapleParty party = null; Party party = null;
for (int i = 0; i < 5; i++) { //only 32 stages, but 38 maps for (int i = 0; i < 5; i++) { //only 32 stages, but 38 maps
if (stage + i > 38) { if (stage + i > 38) {
@@ -619,7 +619,7 @@ public final class Channel {
dojoFinishTime[slot] = Server.getInstance().getCurrentTime() + clockTime; dojoFinishTime[slot] = Server.getInstance().getCurrentTime() + clockTime;
} }
public void dismissDojoSchedule(int dojoMapId, MapleParty party) { public void dismissDojoSchedule(int dojoMapId, Party party) {
int slot = getDojoSlot(dojoMapId); int slot = getDojoSlot(dojoMapId);
int stage = (dojoMapId / 100) % 100; int stage = (dojoMapId / 100) % 100;
if(stage <= dojoStage[slot]) return; if(stage <= dojoStage[slot]) return;
@@ -33,7 +33,7 @@ import net.server.guild.Alliance;
import net.server.guild.Guild; import net.server.guild.Guild;
import net.server.guild.GuildPackets; import net.server.guild.GuildPackets;
import net.server.guild.GuildResponse; import net.server.guild.GuildResponse;
import net.server.world.MapleParty; import net.server.world.Party;
import net.server.world.World; import net.server.world.World;
import tools.PacketCreator; import tools.PacketCreator;
@@ -90,7 +90,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
return; return;
} }
if (!MapleParty.createParty(mc, true)) { if (!Party.createParty(mc, true)) {
mc.dropMessage(1, "You cannot create a new Guild while in a party."); mc.dropMessage(1, "You cannot create a new Guild while in a party.");
return; return;
} }
@@ -260,7 +260,7 @@ public final class GuildOperationHandler extends AbstractPacketHandler {
if (leader != null) { if (leader != null) {
int partyid = leader.getPartyId(); int partyid = leader.getPartyId();
if (partyid != -1) { if (partyid != -1) {
MapleParty.joinParty(mc, partyid, true); // GMS gimmick "party to form guild" recalled thanks to Vcoc Party.joinParty(mc, partyid, true); // GMS gimmick "party to form guild" recalled thanks to Vcoc
} }
} }
} }
@@ -26,8 +26,8 @@ import client.Client;
import client.Disease; import client.Disease;
import net.AbstractPacketHandler; import net.AbstractPacketHandler;
import net.packet.InPacket; import net.packet.InPacket;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import server.life.MapleLifeFactory; import server.life.MapleLifeFactory;
import server.life.MapleMonster; import server.life.MapleMonster;
import server.partyquest.MapleCarnivalFactory; import server.partyquest.MapleCarnivalFactory;
@@ -100,7 +100,7 @@ public final class MonsterCarnivalHandler extends AbstractPacketHandler {
return; return;
} }
final Disease dis = skill.getDisease(); final Disease dis = skill.getDisease();
MapleParty enemies = c.getPlayer().getParty().getEnemy(); Party enemies = c.getPlayer().getParty().getEnemy();
if (skill.targetsAll) { if (skill.targetsAll) {
int hitChance = 0; int hitChance = 0;
if (dis.getDisease() == 121 || dis.getDisease() == 122 || dis.getDisease() == 125 || dis.getDisease() == 126) { if (dis.getDisease() == 121 || dis.getDisease() == 122 || dis.getDisease() == 125 || dis.getDisease() == 126) {
@@ -30,8 +30,8 @@ import net.server.coordinator.world.InviteCoordinator;
import net.server.coordinator.world.InviteCoordinator.InviteResult; import net.server.coordinator.world.InviteCoordinator.InviteResult;
import net.server.coordinator.world.InviteCoordinator.InviteType; import net.server.coordinator.world.InviteCoordinator.InviteType;
import net.server.coordinator.world.InviteCoordinator.MapleInviteResult; import net.server.coordinator.world.InviteCoordinator.MapleInviteResult;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import net.server.world.PartyOperation; import net.server.world.PartyOperation;
import net.server.world.World; import net.server.world.World;
import tools.PacketCreator; import tools.PacketCreator;
@@ -45,17 +45,17 @@ public final class PartyOperationHandler extends AbstractPacketHandler {
int operation = p.readByte(); int operation = p.readByte();
Character player = c.getPlayer(); Character player = c.getPlayer();
World world = c.getWorldServer(); World world = c.getWorldServer();
MapleParty party = player.getParty(); Party party = player.getParty();
switch (operation) { switch (operation) {
case 1: { // create case 1: { // create
MapleParty.createParty(player, false); Party.createParty(player, false);
break; break;
} }
case 2: { // leave/disband case 2: { // leave/disband
if (party != null) { if (party != null) {
List<Character> partymembers = player.getPartyMembersOnline(); List<Character> partymembers = player.getPartyMembersOnline();
MapleParty.leaveParty(party, c); Party.leaveParty(party, c);
player.updatePartySearchAvailability(true); player.updatePartySearchAvailability(true);
player.partyOperationUpdate(party, partymembers); player.partyOperationUpdate(party, partymembers);
} }
@@ -67,7 +67,7 @@ public final class PartyOperationHandler extends AbstractPacketHandler {
MapleInviteResult inviteRes = InviteCoordinator.answerInvite(InviteType.PARTY, player.getId(), partyid, true); MapleInviteResult inviteRes = InviteCoordinator.answerInvite(InviteType.PARTY, player.getId(), partyid, true);
InviteResult res = inviteRes.result; InviteResult res = inviteRes.result;
if (res == InviteResult.ACCEPTED) { if (res == InviteResult.ACCEPTED) {
MapleParty.joinParty(player, partyid, false); Party.joinParty(player, partyid, false);
} else { } else {
c.sendPacket(PacketCreator.serverNotice(5, "You couldn't join the party due to an expired invitation request.")); c.sendPacket(PacketCreator.serverNotice(5, "You couldn't join the party due to an expired invitation request."));
} }
@@ -88,7 +88,7 @@ public final class PartyOperationHandler extends AbstractPacketHandler {
if (invited.getParty() == null) { if (invited.getParty() == null) {
if (party == null) { if (party == null) {
if (!MapleParty.createParty(player, false)) { if (!Party.createParty(player, false)) {
return; return;
} }
@@ -113,7 +113,7 @@ public final class PartyOperationHandler extends AbstractPacketHandler {
} }
case 5: { // expel case 5: { // expel
int cid = p.readInt(); int cid = p.readInt();
MapleParty.expelFromParty(party, c, cid); Party.expelFromParty(party, c, cid);
break; break;
} }
case 6: { // change leader case 6: { // change leader
@@ -25,7 +25,7 @@ import client.Character;
import client.Client; import client.Client;
import net.AbstractPacketHandler; import net.AbstractPacketHandler;
import net.packet.InPacket; import net.packet.InPacket;
import net.server.world.MapleParty; import net.server.world.Party;
import net.server.world.World; import net.server.world.World;
import tools.PacketCreator; import tools.PacketCreator;
@@ -63,7 +63,7 @@ public class PartySearchStartHandler extends AbstractPacketHandler {
p.readInt(); // members p.readInt(); // members
int jobs = p.readInt(); int jobs = p.readInt();
MapleParty party = c.getPlayer().getParty(); Party party = c.getPlayer().getParty();
if (party == null || !c.getPlayer().isPartyLeader()) return; if (party == null || !c.getPlayer().isPartyLeader()) return;
World world = c.getWorldServer(); World world = c.getWorldServer();
@@ -29,7 +29,7 @@ import net.server.coordinator.matchchecker.MatchCheckerListenerRecipe;
import net.server.guild.Guild; import net.server.guild.Guild;
import net.server.guild.GuildCharacter; import net.server.guild.GuildCharacter;
import net.server.guild.GuildPackets; import net.server.guild.GuildPackets;
import net.server.world.MapleParty; import net.server.world.Party;
import java.util.Set; import java.util.Set;
@@ -157,7 +157,7 @@ public class MatchCheckerGuildCreation implements MatchCheckerListenerRecipe {
public void onMatchDeclined(int leaderid, Set<Character> matchPlayers, String message) { public void onMatchDeclined(int leaderid, Set<Character> matchPlayers, String message) {
for (Character chr : matchPlayers) { for (Character chr : matchPlayers) {
if (chr.getId() == leaderid && chr.getClient() != null) { if (chr.getId() == leaderid && chr.getClient() != null) {
MapleParty.leaveParty(chr.getParty(), chr.getClient()); Party.leaveParty(chr.getParty(), chr.getClient());
} }
if (chr.isLoggedinWorld()) { if (chr.isLoggedinWorld()) {
@@ -186,7 +186,7 @@ public class MatchCheckerGuildCreation implements MatchCheckerListenerRecipe {
for (Character chr : matchPlayers) { for (Character chr : matchPlayers) {
if (chr.getId() == leaderid && chr.getClient() != null) { if (chr.getId() == leaderid && chr.getClient() != null) {
MapleParty.leaveParty(chr.getParty(), chr.getClient()); Party.leaveParty(chr.getParty(), chr.getClient());
} }
if (chr.isLoggedinWorld()) { if (chr.isLoggedinWorld()) {
@@ -30,7 +30,7 @@ import net.server.audit.locks.factory.MonitoredReadLockFactory;
import net.server.audit.locks.factory.MonitoredWriteLockFactory; import net.server.audit.locks.factory.MonitoredWriteLockFactory;
import net.server.coordinator.world.InviteCoordinator; import net.server.coordinator.world.InviteCoordinator;
import net.server.coordinator.world.InviteCoordinator.InviteType; import net.server.coordinator.world.InviteCoordinator.InviteType;
import net.server.world.MapleParty; import net.server.world.Party;
import provider.MapleData; import provider.MapleData;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.MapleDataTool; import provider.MapleDataTool;
@@ -392,7 +392,7 @@ public class PartySearchCoordinator {
} }
for (Character leader : searchedLeaders) { for (Character leader : searchedLeaders) {
MapleParty party = leader.getParty(); Party party = leader.getParty();
if (party != null && party.getMembers().size() < 6) { if (party != null && party.getMembers().size() < 6) {
addQueueLeader(leader); addQueueLeader(leader);
} else { } else {
+3 -3
View File
@@ -28,8 +28,8 @@ import net.server.Server;
import net.server.coordinator.world.InviteCoordinator; import net.server.coordinator.world.InviteCoordinator;
import net.server.coordinator.world.InviteCoordinator.InviteType; import net.server.coordinator.world.InviteCoordinator.InviteType;
import net.server.coordinator.world.InviteCoordinator.MapleInviteResult; import net.server.coordinator.world.InviteCoordinator.MapleInviteResult;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import tools.DatabaseConnection; import tools.DatabaseConnection;
import java.sql.Connection; import java.sql.Connection;
@@ -83,7 +83,7 @@ public class Alliance {
} }
} }
private static List<Character> getPartyGuildMasters(MapleParty party) { private static List<Character> getPartyGuildMasters(Party party) {
List<Character> mcl = new LinkedList<>(); List<Character> mcl = new LinkedList<>();
for (MaplePartyCharacter mpc : party.getMembers()) { for (MaplePartyCharacter mpc : party.getMembers()) {
@@ -109,7 +109,7 @@ public class Alliance {
return mcl; return mcl;
} }
public static Alliance createAlliance(MapleParty party, String name) { public static Alliance createAlliance(Party party, String name) {
List<Character> guildMasters = getPartyGuildMasters(party); List<Character> guildMasters = getPartyGuildMasters(party);
if (guildMasters.size() != 2) { if (guildMasters.size() != 2) {
return null; return null;
@@ -39,22 +39,22 @@ import tools.PacketCreator;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
public class MapleParty { public class Party {
private int id; private int id;
private MapleParty enemy = null; private Party enemy = null;
private int leaderId; private int leaderId;
private List<MaplePartyCharacter> members = new LinkedList<>(); private final List<MaplePartyCharacter> members = new LinkedList<>();
private List<MaplePartyCharacter> pqMembers = null; private List<MaplePartyCharacter> pqMembers = null;
private Map<Integer, Integer> histMembers = new HashMap<>(); private final Map<Integer, Integer> histMembers = new HashMap<>();
private int nextEntry = 0; private int nextEntry = 0;
private Map<Integer, MapleDoor> doors = new HashMap<>(); private final Map<Integer, MapleDoor> doors = new HashMap<>();
private MonitoredReentrantLock lock = MonitoredReentrantLockFactory.createLock(MonitoredLockType.PARTY, true); private MonitoredReentrantLock lock = MonitoredReentrantLockFactory.createLock(MonitoredLockType.PARTY, true);
public MapleParty(int id, MaplePartyCharacter chrfor) { public Party(int id, MaplePartyCharacter chrfor) {
this.leaderId = chrfor.getId(); this.leaderId = chrfor.getId();
this.id = id; this.id = id;
} }
@@ -139,18 +139,18 @@ public class MapleParty {
lock.unlock(); lock.unlock();
} }
} }
public List<MaplePartyCharacter> getPartyMembersOnline() { public List<MaplePartyCharacter> getPartyMembersOnline() {
lock.lock(); lock.lock();
try { try {
List<MaplePartyCharacter> ret = new LinkedList<>(); List<MaplePartyCharacter> ret = new LinkedList<>();
for (MaplePartyCharacter mpc : members) { for (MaplePartyCharacter mpc : members) {
if (mpc.isOnline()) { if (mpc.isOnline()) {
ret.add(mpc); ret.add(mpc);
} }
} }
return ret; return ret;
} finally { } finally {
lock.unlock(); lock.unlock();
@@ -193,11 +193,11 @@ public class MapleParty {
} }
} }
public MapleParty getEnemy() { public Party getEnemy() {
return enemy; return enemy;
} }
public void setEnemy(MapleParty enemy) { public void setEnemy(Party enemy) {
this.enemy = enemy; this.enemy = enemy;
} }
@@ -319,15 +319,12 @@ public class MapleParty {
if (getClass() != obj.getClass()) { if (getClass() != obj.getClass()) {
return false; return false;
} }
final MapleParty other = (MapleParty) obj; final Party other = (Party) obj;
if (id != other.id) { return id == other.id;
return false;
}
return true;
} }
public static boolean createParty(Character player, boolean silentCheck) { public static boolean createParty(Character player, boolean silentCheck) {
MapleParty party = player.getParty(); Party party = player.getParty();
if (party == null) { if (party == null) {
if (player.getLevel() < 10 && !YamlConfig.config.server.USE_PARTY_FOR_STARTERS) { if (player.getLevel() < 10 && !YamlConfig.config.server.USE_PARTY_FOR_STARTERS) {
player.sendPacket(PacketCreator.partyStatusMessage(10)); player.sendPacket(PacketCreator.partyStatusMessage(10));
@@ -336,44 +333,44 @@ public class MapleParty {
player.dropMessage(5, "You cannot request a party creation while participating the Ariant Battle Arena."); player.dropMessage(5, "You cannot request a party creation while participating the Ariant Battle Arena.");
return false; return false;
} }
MaplePartyCharacter partyplayer = new MaplePartyCharacter(player); MaplePartyCharacter partyplayer = new MaplePartyCharacter(player);
party = player.getWorldServer().createParty(partyplayer); party = player.getWorldServer().createParty(partyplayer);
player.setParty(party); player.setParty(party);
player.setMPC(partyplayer); player.setMPC(partyplayer);
player.getMap().addPartyMember(player, party.getId()); player.getMap().addPartyMember(player, party.getId());
player.silentPartyUpdate(); player.silentPartyUpdate();
player.updatePartySearchAvailability(false); player.updatePartySearchAvailability(false);
player.partyOperationUpdate(party, null); player.partyOperationUpdate(party, null);
player.sendPacket(PacketCreator.partyCreated(party, partyplayer.getId())); player.sendPacket(PacketCreator.partyCreated(party, partyplayer.getId()));
return true; return true;
} else { } else {
if (!silentCheck) { if (!silentCheck) {
player.sendPacket(PacketCreator.partyStatusMessage(16)); player.sendPacket(PacketCreator.partyStatusMessage(16));
} }
return false; return false;
} }
} }
public static boolean joinParty(Character player, int partyid, boolean silentCheck) { public static boolean joinParty(Character player, int partyid, boolean silentCheck) {
MapleParty party = player.getParty(); Party party = player.getParty();
World world = player.getWorldServer(); World world = player.getWorldServer();
if (party == null) { if (party == null) {
party = world.getParty(partyid); party = world.getParty(partyid);
if (party != null) { if (party != null) {
if (party.getMembers().size() < 6) { if (party.getMembers().size() < 6) {
MaplePartyCharacter partyplayer = new MaplePartyCharacter(player); MaplePartyCharacter partyplayer = new MaplePartyCharacter(player);
player.getMap().addPartyMember(player, party.getId()); player.getMap().addPartyMember(player, party.getId());
world.updateParty(party.getId(), PartyOperation.JOIN, partyplayer); world.updateParty(party.getId(), PartyOperation.JOIN, partyplayer);
player.receivePartyMemberHP(); player.receivePartyMemberHP();
player.updatePartyMemberHP(); player.updatePartyMemberHP();
player.resetPartySearchInvite(party.getLeaderId()); player.resetPartySearchInvite(party.getLeaderId());
player.updatePartySearchAvailability(false); player.updatePartySearchAvailability(false);
player.partyOperationUpdate(party, null); player.partyOperationUpdate(party, null);
@@ -391,28 +388,28 @@ public class MapleParty {
player.sendPacket(PacketCreator.serverNotice(5, "You can't join the party as you are already in one.")); player.sendPacket(PacketCreator.serverNotice(5, "You can't join the party as you are already in one."));
} }
} }
return false; return false;
} }
public static void leaveParty(MapleParty party, Client c) { public static void leaveParty(Party party, Client c) {
World world = c.getWorldServer(); World world = c.getWorldServer();
Character player = c.getPlayer(); Character player = c.getPlayer();
MaplePartyCharacter partyplayer = player.getMPC(); MaplePartyCharacter partyplayer = player.getMPC();
if (party != null && partyplayer != null) { if (party != null && partyplayer != null) {
if (partyplayer.getId() == party.getLeaderId()) { if (partyplayer.getId() == party.getLeaderId()) {
c.getWorldServer().removeMapPartyMembers(party.getId()); c.getWorldServer().removeMapPartyMembers(party.getId());
MonsterCarnival mcpq = player.getMonsterCarnival(); MonsterCarnival mcpq = player.getMonsterCarnival();
if (mcpq != null) { if (mcpq != null) {
mcpq.leftParty(player.getId()); mcpq.leftParty(player.getId());
} }
world.updateParty(party.getId(), PartyOperation.DISBAND, partyplayer); world.updateParty(party.getId(), PartyOperation.DISBAND, partyplayer);
EventInstanceManager eim = player.getEventInstance(); EventInstanceManager eim = player.getEventInstance();
if(eim != null) { if (eim != null) {
eim.disbandParty(); eim.disbandParty();
} }
} else { } else {
@@ -420,58 +417,60 @@ public class MapleParty {
if (map != null) { if (map != null) {
map.removePartyMember(player, party.getId()); map.removePartyMember(player, party.getId());
} }
MonsterCarnival mcpq = player.getMonsterCarnival(); MonsterCarnival mcpq = player.getMonsterCarnival();
if (mcpq != null) { if (mcpq != null) {
mcpq.leftParty(player.getId()); mcpq.leftParty(player.getId());
} }
world.updateParty(party.getId(), PartyOperation.LEAVE, partyplayer); world.updateParty(party.getId(), PartyOperation.LEAVE, partyplayer);
EventInstanceManager eim = player.getEventInstance(); EventInstanceManager eim = player.getEventInstance();
if(eim != null) { if (eim != null) {
eim.leftParty(player); eim.leftParty(player);
} }
} }
player.setParty(null); player.setParty(null);
MatchCheckerCoordinator mmce = c.getWorldServer().getMatchCheckerCoordinator(); MatchCheckerCoordinator mmce = c.getWorldServer().getMatchCheckerCoordinator();
if (mmce.getMatchConfirmationLeaderid(player.getId()) == player.getId() && mmce.getMatchConfirmationType(player.getId()) == MatchCheckerType.GUILD_CREATION) { if (mmce.getMatchConfirmationLeaderid(player.getId()) == player.getId() && mmce.getMatchConfirmationType(player.getId()) == MatchCheckerType.GUILD_CREATION) {
mmce.dismissMatchConfirmation(player.getId()); mmce.dismissMatchConfirmation(player.getId());
} }
} }
} }
public static void expelFromParty(MapleParty party, Client c, int expelCid) { public static void expelFromParty(Party party, Client c, int expelCid) {
World world = c.getWorldServer(); World world = c.getWorldServer();
Character player = c.getPlayer(); Character player = c.getPlayer();
MaplePartyCharacter partyplayer = player.getMPC(); MaplePartyCharacter partyplayer = player.getMPC();
if (party != null && partyplayer != null) { if (party != null && partyplayer != null) {
if (partyplayer.equals(party.getLeader())) { if (partyplayer.equals(party.getLeader())) {
MaplePartyCharacter expelled = party.getMemberById(expelCid); MaplePartyCharacter expelled = party.getMemberById(expelCid);
if (expelled != null) { if (expelled != null) {
Character emc = expelled.getPlayer(); Character emc = expelled.getPlayer();
if(emc != null) { if (emc != null) {
List<Character> partyMembers = emc.getPartyMembersOnline(); List<Character> partyMembers = emc.getPartyMembersOnline();
MapleMap map = emc.getMap(); MapleMap map = emc.getMap();
if(map != null) map.removePartyMember(emc, party.getId()); if (map != null) {
map.removePartyMember(emc, party.getId());
}
MonsterCarnival mcpq = player.getMonsterCarnival(); MonsterCarnival mcpq = player.getMonsterCarnival();
if (mcpq != null) { if (mcpq != null) {
mcpq.leftParty(emc.getId()); mcpq.leftParty(emc.getId());
} }
EventInstanceManager eim = emc.getEventInstance(); EventInstanceManager eim = emc.getEventInstance();
if(eim != null) { if (eim != null) {
eim.leftParty(emc); eim.leftParty(emc);
} }
emc.setParty(null); emc.setParty(null);
world.updateParty(party.getId(), PartyOperation.EXPEL, expelled); world.updateParty(party.getId(), PartyOperation.EXPEL, expelled);
emc.updatePartySearchAvailability(true); emc.updatePartySearchAvailability(true);
emc.partyOperationUpdate(party, partyMembers); emc.partyOperationUpdate(party, partyMembers);
} else { } else {
+12 -12
View File
@@ -104,7 +104,7 @@ public class World {
private Map<Integer, Set<Integer>> marriageGuests = new ConcurrentHashMap<>(); private Map<Integer, Set<Integer>> marriageGuests = new ConcurrentHashMap<>();
private Map<Integer, Integer> partyChars = new HashMap<>(); private Map<Integer, Integer> partyChars = new HashMap<>();
private Map<Integer, MapleParty> parties = new HashMap<>(); private Map<Integer, Party> parties = new HashMap<>();
private AtomicInteger runningPartyId = new AtomicInteger(); private AtomicInteger runningPartyId = new AtomicInteger();
private MonitoredReentrantLock partyLock = MonitoredReentrantLockFactory.createLock(MonitoredLockType.WORLD_PARTY, true); private MonitoredReentrantLock partyLock = MonitoredReentrantLockFactory.createLock(MonitoredLockType.WORLD_PARTY, true);
@@ -838,9 +838,9 @@ public class World {
} }
} }
public MapleParty createParty(MaplePartyCharacter chrfor) { public Party createParty(MaplePartyCharacter chrfor) {
int partyid = runningPartyId.getAndIncrement(); int partyid = runningPartyId.getAndIncrement();
MapleParty party = new MapleParty(partyid, chrfor); Party party = new Party(partyid, chrfor);
partyLock.lock(); partyLock.lock();
try { try {
@@ -854,7 +854,7 @@ public class World {
return party; return party;
} }
public MapleParty getParty(int partyid) { public Party getParty(int partyid) {
partyLock.lock(); partyLock.lock();
try { try {
return parties.get(partyid); return parties.get(partyid);
@@ -863,7 +863,7 @@ public class World {
} }
} }
private MapleParty disbandParty(int partyid) { private Party disbandParty(int partyid) {
partyLock.lock(); partyLock.lock();
try { try {
return parties.remove(partyid); return parties.remove(partyid);
@@ -872,7 +872,7 @@ public class World {
} }
} }
private void updateCharacterParty(MapleParty party, PartyOperation operation, MaplePartyCharacter target, Collection<MaplePartyCharacter> partyMembers) { private void updateCharacterParty(Party party, PartyOperation operation, MaplePartyCharacter target, Collection<MaplePartyCharacter> partyMembers) {
switch (operation) { switch (operation) {
case JOIN: case JOIN:
registerCharacterParty(target.getId(), party.getId()); registerCharacterParty(target.getId(), party.getId());
@@ -899,7 +899,7 @@ public class World {
} }
} }
private void updateParty(MapleParty party, PartyOperation operation, MaplePartyCharacter target) { private void updateParty(Party party, PartyOperation operation, MaplePartyCharacter target) {
Collection<MaplePartyCharacter> partyMembers = party.getMembers(); Collection<MaplePartyCharacter> partyMembers = party.getMembers();
updateCharacterParty(party, operation, target, partyMembers); updateCharacterParty(party, operation, target, partyMembers);
@@ -931,7 +931,7 @@ public class World {
} }
public void updateParty(int partyid, PartyOperation operation, MaplePartyCharacter target) { public void updateParty(int partyid, PartyOperation operation, MaplePartyCharacter target) {
MapleParty party = getParty(partyid); Party party = getParty(partyid);
if (party == null) { if (party == null) {
throw new IllegalArgumentException("no party with the specified partyid exists"); throw new IllegalArgumentException("no party with the specified partyid exists");
} }
@@ -979,7 +979,7 @@ public class World {
} }
public void removeMapPartyMembers(int partyid) { public void removeMapPartyMembers(int partyid) {
MapleParty party = getParty(partyid); Party party = getParty(partyid);
if(party == null) return; if(party == null) return;
for(MaplePartyCharacter mpc : party.getMembers()) { for(MaplePartyCharacter mpc : party.getMembers()) {
@@ -1011,7 +1011,7 @@ public class World {
return channel; return channel;
} }
public void partyChat(MapleParty party, String chattext, String namefrom) { public void partyChat(Party party, String chattext, String namefrom) {
for (MaplePartyCharacter partychar : party.getMembers()) { for (MaplePartyCharacter partychar : party.getMembers()) {
if (!(partychar.getName().equals(namefrom))) { if (!(partychar.getName().equals(namefrom))) {
Character chr = getPlayerStorage().getCharacterByName(partychar.getName()); Character chr = getPlayerStorage().getCharacterByName(partychar.getName());
@@ -2006,7 +2006,7 @@ public class World {
} }
private void clearWorldData() { private void clearWorldData() {
List<MapleParty> pList; List<Party> pList;
partyLock.lock(); partyLock.lock();
try { try {
pList = new ArrayList<>(parties.values()); pList = new ArrayList<>(parties.values());
@@ -2014,7 +2014,7 @@ public class World {
partyLock.unlock(); partyLock.unlock();
} }
for(MapleParty p : pList) { for(Party p : pList) {
p.disposeLocks(); p.disposeLocks();
} }
@@ -31,8 +31,8 @@ import constants.game.GameConstants;
import constants.inventory.ItemConstants; import constants.inventory.ItemConstants;
import net.server.Server; import net.server.Server;
import net.server.guild.Guild; import net.server.guild.Guild;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import scripting.event.EventInstanceManager; import scripting.event.EventInstanceManager;
import scripting.event.EventManager; import scripting.event.EventManager;
import scripting.npc.NPCScriptManager; import scripting.npc.NPCScriptManager;
@@ -723,7 +723,7 @@ public class AbstractPlayerInteraction {
return null; return null;
} }
public MapleParty getParty() { public Party getParty() {
return getPlayer().getParty(); return getPlayer().getParty();
} }
@@ -804,7 +804,7 @@ public class AbstractPlayerInteraction {
//4 players = +10% bonus (110) //4 players = +10% bonus (110)
//5 players = +20% bonus (120) //5 players = +20% bonus (120)
//6 players = +30% bonus (130) //6 players = +30% bonus (130)
MapleParty party = getPlayer().getParty(); Party party = getPlayer().getParty();
int size = party.getMembers().size(); int size = party.getMembers().size();
if(instance) { if(instance) {
@@ -32,8 +32,8 @@ import net.server.audit.locks.factory.MonitoredReadLockFactory;
import net.server.audit.locks.factory.MonitoredReentrantLockFactory; import net.server.audit.locks.factory.MonitoredReentrantLockFactory;
import net.server.audit.locks.factory.MonitoredWriteLockFactory; import net.server.audit.locks.factory.MonitoredWriteLockFactory;
import net.server.coordinator.world.EventRecallCoordinator; import net.server.coordinator.world.EventRecallCoordinator;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import scripting.AbstractPlayerInteraction; import scripting.AbstractPlayerInteraction;
import scripting.event.scheduler.EventScriptScheduler; import scripting.event.scheduler.EventScriptScheduler;
import server.MapleItemInformationProvider; import server.MapleItemInformationProvider;
@@ -350,7 +350,7 @@ public class EventInstanceManager {
} }
} }
public void registerParty(MapleParty party, MapleMap map) { public void registerParty(Party party, MapleMap map) {
for (MaplePartyCharacter mpc : party.getEligibleMembers()) { for (MaplePartyCharacter mpc : party.getEligibleMembers()) {
if (mpc.isOnline()) { // thanks resinate if (mpc.isOnline()) { // thanks resinate
Character chr = map.getCharacterById(mpc.getId()); Character chr = map.getCharacterById(mpc.getId());
@@ -31,8 +31,8 @@ import net.server.audit.locks.MonitoredReentrantLock;
import net.server.audit.locks.factory.MonitoredReentrantLockFactory; import net.server.audit.locks.factory.MonitoredReentrantLockFactory;
import net.server.channel.Channel; import net.server.channel.Channel;
import net.server.guild.Guild; import net.server.guild.Guild;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import net.server.world.World; import net.server.world.World;
import scripting.event.scheduler.EventScriptScheduler; import scripting.event.scheduler.EventScriptScheduler;
import server.MapleMarriage; import server.MapleMarriage;
@@ -507,15 +507,15 @@ public class EventManager {
} }
//PQ method: starts a PQ //PQ method: starts a PQ
public boolean startInstance(MapleParty party, MapleMap map) { public boolean startInstance(Party party, MapleMap map) {
return startInstance(-1, party, map); return startInstance(-1, party, map);
} }
public boolean startInstance(int lobbyId, MapleParty party, MapleMap map) { public boolean startInstance(int lobbyId, Party party, MapleMap map) {
return startInstance(lobbyId, party, map, party.getLeader().getPlayer()); return startInstance(lobbyId, party, map, party.getLeader().getPlayer());
} }
public boolean startInstance(int lobbyId, MapleParty party, MapleMap map, Character leader) { public boolean startInstance(int lobbyId, Party party, MapleMap map, Character leader) {
if (this.isDisposed()) return false; if (this.isDisposed()) return false;
try { try {
@@ -574,15 +574,15 @@ public class EventManager {
} }
//PQ method: starts a PQ with a difficulty level, requires function setup(difficulty, leaderid) instead of setup() //PQ method: starts a PQ with a difficulty level, requires function setup(difficulty, leaderid) instead of setup()
public boolean startInstance(MapleParty party, MapleMap map, int difficulty) { public boolean startInstance(Party party, MapleMap map, int difficulty) {
return startInstance(-1, party, map, difficulty); return startInstance(-1, party, map, difficulty);
} }
public boolean startInstance(int lobbyId, MapleParty party, MapleMap map, int difficulty) { public boolean startInstance(int lobbyId, Party party, MapleMap map, int difficulty) {
return startInstance(lobbyId, party, map, difficulty, party.getLeader().getPlayer()); return startInstance(lobbyId, party, map, difficulty, party.getLeader().getPlayer());
} }
public boolean startInstance(int lobbyId, MapleParty party, MapleMap map, int difficulty, Character leader) { public boolean startInstance(int lobbyId, Party party, MapleMap map, int difficulty, Character leader) {
if (this.isDisposed()) return false; if (this.isDisposed()) return false;
try { try {
@@ -702,7 +702,7 @@ public class EventManager {
return false; return false;
} }
public List<MaplePartyCharacter> getEligibleParty(MapleParty party) { public List<MaplePartyCharacter> getEligibleParty(Party party) {
if (party == null) { if (party == null) {
return new ArrayList<>(); return new ArrayList<>();
} }
@@ -36,8 +36,8 @@ import net.server.coordinator.matchchecker.MatchCheckerListenerFactory.MatchChec
import net.server.guild.Alliance; import net.server.guild.Alliance;
import net.server.guild.Guild; import net.server.guild.Guild;
import net.server.guild.GuildPackets; import net.server.guild.GuildPackets;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import provider.MapleData; import provider.MapleData;
import provider.MapleDataProviderFactory; import provider.MapleDataProviderFactory;
import provider.wz.WZFiles; import provider.wz.WZFiles;
@@ -327,7 +327,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
} }
@Override @Override
public MapleParty getParty() { public Party getParty() {
return getPlayer().getParty(); return getPlayer().getParty();
} }
@@ -498,7 +498,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
public boolean createPyramid(String mode, boolean party) {//lol public boolean createPyramid(String mode, boolean party) {//lol
PyramidMode mod = PyramidMode.valueOf(mode); PyramidMode mod = PyramidMode.valueOf(mode);
MapleParty partyz = getPlayer().getParty(); Party partyz = getPlayer().getParty();
MapleMapManager mapManager = c.getChannelServer().getMapFactory(); MapleMapManager mapManager = c.getChannelServer().getMapFactory();
MapleMap map = null; MapleMap map = null;
@@ -522,7 +522,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
} }
if (!party) { if (!party) {
partyz = new MapleParty(-1, new MaplePartyCharacter(getPlayer())); partyz = new Party(-1, new MaplePartyCharacter(getPlayer()));
} }
Pyramid py = new Pyramid(partyz, mod, map.getId()); Pyramid py = new Pyramid(partyz, mod, map.getId());
getPlayer().setPartyQuest(py); getPlayer().setPartyQuest(py);
@@ -714,7 +714,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
} }
} }
private int isCPQParty(MapleMap lobby, MapleParty party) { private int isCPQParty(MapleMap lobby, Party party) {
int cpqMinLvl, cpqMaxLvl; int cpqMinLvl, cpqMaxLvl;
if (lobby.isCPQLobby()) { if (lobby.isCPQLobby()) {
@@ -739,7 +739,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
return 0; return 0;
} }
private int canStartCPQ(MapleMap lobby, MapleParty party, MapleParty challenger) { private int canStartCPQ(MapleMap lobby, Party party, Party challenger) {
int ret = isCPQParty(lobby, party); int ret = isCPQParty(lobby, party);
if (ret != 0) { if (ret != 0) {
return ret; return ret;
@@ -800,7 +800,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
return; return;
} }
MapleParty lobbyParty = getPlayer().getParty(), challengerParty = challenger.getParty(); Party lobbyParty = getPlayer().getParty(), challengerParty = challenger.getParty();
int status = canStartCPQ(lobbyMap, lobbyParty, challengerParty); int status = canStartCPQ(lobbyMap, lobbyParty, challengerParty);
if (status == 0) { if (status == 0) {
new MonsterCarnival(lobbyParty, challengerParty, mapid, true, (field / 100) % 10); new MonsterCarnival(lobbyParty, challengerParty, mapid, true, (field / 100) % 10);
@@ -852,7 +852,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
return; return;
} }
MapleParty lobbyParty = getPlayer().getParty(), challengerParty = challenger.getParty(); Party lobbyParty = getPlayer().getParty(), challengerParty = challenger.getParty();
int status = canStartCPQ(lobbyMap, lobbyParty, challengerParty); int status = canStartCPQ(lobbyMap, lobbyParty, challengerParty);
if (status == 0) { if (status == 0) {
new MonsterCarnival(lobbyParty, challengerParty, mapid, false, (field / 1000) % 10); new MonsterCarnival(lobbyParty, challengerParty, mapid, false, (field / 1000) % 10);
+2 -2
View File
@@ -34,8 +34,8 @@ import constants.inventory.ItemConstants;
import constants.skills.*; import constants.skills.*;
import net.packet.Packet; import net.packet.Packet;
import net.server.Server; import net.server.Server;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import provider.MapleData; import provider.MapleData;
import provider.MapleDataTool; import provider.MapleDataTool;
import server.life.MapleMonster; import server.life.MapleMonster;
@@ -1039,7 +1039,7 @@ public class MapleStatEffect {
final MCSkill skill = MapleCarnivalFactory.getInstance().getSkill(nuffSkill); final MCSkill skill = MapleCarnivalFactory.getInstance().getSkill(nuffSkill);
if (skill != null) { if (skill != null) {
final Disease dis = skill.getDisease(); final Disease dis = skill.getDisease();
MapleParty opposition = applyfrom.getParty().getEnemy(); Party opposition = applyfrom.getParty().getEnemy();
if (skill.targetsAll) { if (skill.targetsAll) {
for (MaplePartyCharacter enemyChrs : opposition.getPartyMembers()) { for (MaplePartyCharacter enemyChrs : opposition.getPartyMembers()) {
Character chrApp = enemyChrs.getPlayer(); Character chrApp = enemyChrs.getPlayer();
+3 -3
View File
@@ -39,8 +39,8 @@ import net.server.services.task.channel.MobClearSkillService;
import net.server.services.task.channel.MobStatusService; import net.server.services.task.channel.MobStatusService;
import net.server.services.task.channel.OverallService; import net.server.services.task.channel.OverallService;
import net.server.services.type.ChannelServices; import net.server.services.type.ChannelServices;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import scripting.event.EventInstanceManager; import scripting.event.EventInstanceManager;
import server.MapleStatEffect; import server.MapleStatEffect;
import server.TimerManager; import server.TimerManager;
@@ -582,7 +582,7 @@ public class MapleMonster extends AbstractLoadedMapleLife {
return; return;
} }
Map<MapleParty, Map<Character, Long>> partyExpDist = new HashMap<>(); Map<Party, Map<Character, Long>> partyExpDist = new HashMap<>();
Map<Character, Long> soloExpDist = new HashMap<>(); Map<Character, Long> soloExpDist = new HashMap<>();
Map<Integer, Character> mapPlayers = map.getMapAllPlayers(); Map<Integer, Character> mapPlayers = map.getMapAllPlayers();
@@ -593,7 +593,7 @@ public class MapleMonster extends AbstractLoadedMapleLife {
if (chr != null) { if (chr != null) {
long damage = e.getValue().longValue(); long damage = e.getValue().longValue();
MapleParty p = chr.getParty(); Party p = chr.getParty();
if (p != null) { if (p != null) {
Map<Character, Long> partyParticipation = partyExpDist.get(p); Map<Character, Long> partyParticipation = partyExpDist.get(p);
if (partyParticipation == null) { if (partyParticipation == null) {
@@ -27,7 +27,7 @@ import net.server.audit.locks.MonitoredReentrantReadWriteLock;
import net.server.audit.locks.MonitoredWriteLock; import net.server.audit.locks.MonitoredWriteLock;
import net.server.audit.locks.factory.MonitoredReadLockFactory; import net.server.audit.locks.factory.MonitoredReadLockFactory;
import net.server.audit.locks.factory.MonitoredWriteLockFactory; import net.server.audit.locks.factory.MonitoredWriteLockFactory;
import net.server.world.MapleParty; import net.server.world.Party;
import tools.PacketCreator; import tools.PacketCreator;
import java.awt.*; import java.awt.*;
@@ -89,7 +89,7 @@ public class MapleDoorObject extends AbstractMapleMapObject {
} }
public void warp(final Character chr) { public void warp(final Character chr) {
MapleParty party = chr.getParty(); Party party = chr.getParty();
if (chr.getId() == ownerId || (party != null && party.getMemberById(ownerId) != null)) { if (chr.getId() == ownerId || (party != null && party.getMemberById(ownerId) != null)) {
chr.sendPacket(PacketCreator.playPortalSound()); chr.sendPacket(PacketCreator.playPortalSound());
@@ -127,7 +127,7 @@ public class MapleDoorObject extends AbstractMapleMapObject {
public void sendDestroyData(Client client) { public void sendDestroyData(Client client) {
Character chr = client.getPlayer(); Character chr = client.getPlayer();
if (from.getId() == chr.getMapId()) { if (from.getId() == chr.getMapId()) {
MapleParty party = chr.getParty(); Party party = chr.getParty();
if (party != null && (ownerId == chr.getId() || party.getMemberById(ownerId) != null)) { if (party != null && (ownerId == chr.getId() || party.getMemberById(ownerId) != null)) {
client.sendPacket(PacketCreator.partyPortal(999999999, 999999999, new Point(-1, -1))); client.sendPacket(PacketCreator.partyPortal(999999999, 999999999, new Point(-1, -1)));
} }
+3 -3
View File
@@ -49,7 +49,7 @@ import net.server.services.task.channel.FaceExpressionService;
import net.server.services.task.channel.MobMistService; import net.server.services.task.channel.MobMistService;
import net.server.services.task.channel.OverallService; import net.server.services.task.channel.OverallService;
import net.server.services.type.ChannelServices; import net.server.services.type.ChannelServices;
import net.server.world.MapleParty; import net.server.world.Party;
import net.server.world.World; import net.server.world.World;
import scripting.event.EventInstanceManager; import scripting.event.EventInstanceManager;
import scripting.map.MapScriptManager; import scripting.map.MapScriptManager;
@@ -2354,7 +2354,7 @@ public class MapleMap {
public void addPlayer(final Character chr) { public void addPlayer(final Character chr) {
int chrSize; int chrSize;
MapleParty party = chr.getParty(); Party party = chr.getParty();
chrWLock.lock(); chrWLock.lock();
try { try {
characters.add(chr); characters.add(chr);
@@ -2668,7 +2668,7 @@ public class MapleMap {
service.unregisterFaceExpression(mapid, chr); service.unregisterFaceExpression(mapid, chr);
chr.unregisterChairBuff(); chr.unregisterChairBuff();
MapleParty party = chr.getParty(); Party party = chr.getParty();
chrWLock.lock(); chrWLock.lock();
try { try {
if (party != null && party.getMemberById(chr.getId()) != null) { if (party != null && party.getMemberById(chr.getId()) != null) {
@@ -5,8 +5,8 @@ import config.YamlConfig;
import constants.string.LanguageConstants; import constants.string.LanguageConstants;
import net.server.Server; import net.server.Server;
import net.server.channel.Channel; import net.server.channel.Channel;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import server.TimerManager; import server.TimerManager;
import server.maps.MapleMap; import server.maps.MapleMap;
import server.maps.MapleReactor; import server.maps.MapleReactor;
@@ -24,7 +24,7 @@ public class MonsterCarnival {
public static int B = 1; public static int B = 1;
public static int A = 0; public static int A = 0;
private MapleParty p1, p2; private Party p1, p2;
private MapleMap map; private MapleMap map;
private ScheduledFuture<?> timer, effectTimer, respawnTask; private ScheduledFuture<?> timer, effectTimer, respawnTask;
private long startTime = 0; private long startTime = 0;
@@ -33,7 +33,7 @@ public class MonsterCarnival {
private int redCP, blueCP, redTotalCP, blueTotalCP, redTimeupCP, blueTimeupCP; private int redCP, blueCP, redTotalCP, blueTotalCP, redTimeupCP, blueTimeupCP;
private boolean cpq1; private boolean cpq1;
public MonsterCarnival(MapleParty p1, MapleParty p2, int mapid, boolean cpq1, int room) { public MonsterCarnival(Party p1, Party p2, int mapid, boolean cpq1, int room) {
try { try {
this.cpq1 = cpq1; this.cpq1 = cpq1;
this.room = room; this.room = room;
@@ -400,19 +400,19 @@ public class MonsterCarnival {
} }
} }
public MapleParty getRed() { public Party getRed() {
return p1; return p1;
} }
public void setRed(MapleParty p1) { public void setRed(Party p1) {
this.p1 = p1; this.p1 = p1;
} }
public MapleParty getBlue() { public Party getBlue() {
return p2; return p2;
} }
public void setBlue(MapleParty p2) { public void setBlue(Party p2) {
this.p2 = p2; this.p2 = p2;
} }
@@ -24,8 +24,8 @@ package server.partyquest;
import client.Character; import client.Character;
import net.server.Server; import net.server.Server;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import tools.FilePrinter; import tools.FilePrinter;
import java.util.ArrayList; import java.util.ArrayList;
@@ -37,10 +37,10 @@ import java.util.List;
*/ */
public class PartyQuest { public class PartyQuest {
int channel, world; int channel, world;
MapleParty party; Party party;
List<Character> participants = new ArrayList<>(); List<Character> participants = new ArrayList<>();
public PartyQuest(MapleParty party) { public PartyQuest(Party party) {
this.party = party; this.party = party;
MaplePartyCharacter leader = party.getLeader(); MaplePartyCharacter leader = party.getLeader();
channel = leader.getChannel(); channel = leader.getChannel();
@@ -55,7 +55,7 @@ public class PartyQuest {
} }
} }
public MapleParty getParty() { public Party getParty() {
return party; return party;
} }
+2 -2
View File
@@ -23,7 +23,7 @@
package server.partyquest; package server.partyquest;
import client.Character; import client.Character;
import net.server.world.MapleParty; import net.server.world.Party;
import server.MapleItemInformationProvider; import server.MapleItemInformationProvider;
import server.TimerManager; import server.TimerManager;
import tools.PacketCreator; import tools.PacketCreator;
@@ -57,7 +57,7 @@ public class Pyramid extends PartyQuest {
ScheduledFuture<?> timer = null; ScheduledFuture<?> timer = null;
ScheduledFuture<?> gaugeSchedule = null; ScheduledFuture<?> gaugeSchedule = null;
public Pyramid(MapleParty party, PyramidMode mode, int mapid) { public Pyramid(Party party, PyramidMode mode, int mapid) {
super(party); super(party);
this.mode = mode; this.mode = mode;
this.map = mapid; this.map = mapid;
+4 -4
View File
@@ -52,8 +52,8 @@ import net.server.channel.handlers.WhisperHandler;
import net.server.guild.Alliance; import net.server.guild.Alliance;
import net.server.guild.Guild; import net.server.guild.Guild;
import net.server.guild.GuildSummary; import net.server.guild.GuildSummary;
import net.server.world.MapleParty;
import net.server.world.MaplePartyCharacter; import net.server.world.MaplePartyCharacter;
import net.server.world.Party;
import net.server.world.PartyOperation; import net.server.world.PartyOperation;
import net.server.world.World; import net.server.world.World;
import server.CashShop.CashItem; import server.CashShop.CashItem;
@@ -3682,7 +3682,7 @@ public class PacketCreator {
return p; return p;
} }
public static Packet partyCreated(MapleParty party, int partycharid) { public static Packet partyCreated(Party party, int partycharid) {
final OutPacket p = OutPacket.create(SendOpcode.PARTY_OPERATION); final OutPacket p = OutPacket.create(SendOpcode.PARTY_OPERATION);
p.writeByte(8); p.writeByte(8);
p.writeInt(party.getId()); p.writeInt(party.getId());
@@ -3764,7 +3764,7 @@ public class PacketCreator {
return p; return p;
} }
private static void addPartyStatus(int forchannel, MapleParty party, OutPacket p, boolean leaving) { private static void addPartyStatus(int forchannel, Party party, OutPacket p, boolean leaving) {
List<MaplePartyCharacter> partymembers = new ArrayList<>(party.getMembers()); List<MaplePartyCharacter> partymembers = new ArrayList<>(party.getMembers());
while (partymembers.size() < 6) { while (partymembers.size() < 6) {
partymembers.add(new MaplePartyCharacter()); partymembers.add(new MaplePartyCharacter());
@@ -3829,7 +3829,7 @@ public class PacketCreator {
} }
} }
public static Packet updateParty(int forChannel, MapleParty party, PartyOperation op, MaplePartyCharacter target) { public static Packet updateParty(int forChannel, Party party, PartyOperation op, MaplePartyCharacter target) {
final OutPacket p = OutPacket.create(SendOpcode.PARTY_OPERATION); final OutPacket p = OutPacket.create(SendOpcode.PARTY_OPERATION);
switch (op) { switch (op) {
case DISBAND: case DISBAND: