Rename and clean up MapleInviteCoordinator
This commit is contained in:
@@ -44,7 +44,7 @@ import net.server.PlayerCoolDownValueHolder;
|
|||||||
import net.server.Server;
|
import net.server.Server;
|
||||||
import net.server.audit.locks.MonitoredLockType;
|
import net.server.audit.locks.MonitoredLockType;
|
||||||
import net.server.audit.locks.factory.MonitoredReentrantLockFactory;
|
import net.server.audit.locks.factory.MonitoredReentrantLockFactory;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.guild.GuildPackets;
|
import net.server.guild.GuildPackets;
|
||||||
import net.server.guild.MapleAlliance;
|
import net.server.guild.MapleAlliance;
|
||||||
import net.server.guild.MapleGuild;
|
import net.server.guild.MapleGuild;
|
||||||
@@ -1664,7 +1664,7 @@ public class Character extends AbstractCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void removeIncomingInvites() {
|
public void removeIncomingInvites() {
|
||||||
MapleInviteCoordinator.removePlayerIncomingInvites(id);
|
InviteCoordinator.removePlayerIncomingInvites(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void changeMapInternal(final MapleMap to, final Point pos, Packet warpPacket) {
|
private void changeMapInternal(final MapleMap to, final Point pos, Packet warpPacket) {
|
||||||
|
|||||||
@@ -28,10 +28,10 @@ import client.FamilyEntry;
|
|||||||
import config.YamlConfig;
|
import config.YamlConfig;
|
||||||
import net.AbstractPacketHandler;
|
import net.AbstractPacketHandler;
|
||||||
import net.packet.InPacket;
|
import net.packet.InPacket;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteResult;
|
import net.server.coordinator.world.InviteCoordinator.InviteResult;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteType;
|
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.MapleInviteResult;
|
import net.server.coordinator.world.InviteCoordinator.MapleInviteResult;
|
||||||
import tools.DatabaseConnection;
|
import tools.DatabaseConnection;
|
||||||
import tools.FilePrinter;
|
import tools.FilePrinter;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
@@ -59,7 +59,7 @@ public final class AcceptFamilyHandler extends AbstractPacketHandler {
|
|||||||
// String inviterName = slea.readMapleAsciiString();
|
// String inviterName = slea.readMapleAsciiString();
|
||||||
Character inviter = c.getWorldServer().getPlayerStorage().getCharacterById(inviterId);
|
Character inviter = c.getWorldServer().getPlayerStorage().getCharacterById(inviterId);
|
||||||
if(inviter != null) {
|
if(inviter != null) {
|
||||||
MapleInviteResult inviteResult = MapleInviteCoordinator.answerInvite(InviteType.FAMILY, c.getPlayer().getId(), c.getPlayer(), accept);
|
MapleInviteResult inviteResult = InviteCoordinator.answerInvite(InviteType.FAMILY, c.getPlayer().getId(), c.getPlayer(), accept);
|
||||||
if(inviteResult.result == InviteResult.NOT_FOUND) return; //was never invited. (or expired on server only somehow?)
|
if(inviteResult.result == InviteResult.NOT_FOUND) return; //was never invited. (or expired on server only somehow?)
|
||||||
if(accept) {
|
if(accept) {
|
||||||
if(inviter.getFamily() != null) {
|
if(inviter.getFamily() != null) {
|
||||||
|
|||||||
@@ -25,9 +25,9 @@ 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.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteResult;
|
import net.server.coordinator.world.InviteCoordinator.InviteResult;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteType;
|
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
|
|
||||||
public final class DenyPartyRequestHandler extends AbstractPacketHandler {
|
public final class DenyPartyRequestHandler extends AbstractPacketHandler {
|
||||||
@@ -41,7 +41,7 @@ public final class DenyPartyRequestHandler extends AbstractPacketHandler {
|
|||||||
if (cfrom != null) {
|
if (cfrom != null) {
|
||||||
Character chr = c.getPlayer();
|
Character chr = c.getPlayer();
|
||||||
|
|
||||||
if (MapleInviteCoordinator.answerInvite(InviteType.PARTY, chr.getId(), cfrom.getPartyId(), false).result == InviteResult.DENIED) {
|
if (InviteCoordinator.answerInvite(InviteType.PARTY, chr.getId(), cfrom.getPartyId(), false).result == InviteResult.DENIED) {
|
||||||
chr.updatePartySearchAvailability(chr.getParty() == null);
|
chr.updatePartySearchAvailability(chr.getParty() == null);
|
||||||
cfrom.sendPacket(PacketCreator.partyStatusMessage(23, chr.getName()));
|
cfrom.sendPacket(PacketCreator.partyStatusMessage(23, chr.getName()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ import client.Client;
|
|||||||
import config.YamlConfig;
|
import config.YamlConfig;
|
||||||
import net.AbstractPacketHandler;
|
import net.AbstractPacketHandler;
|
||||||
import net.packet.InPacket;
|
import net.packet.InPacket;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteType;
|
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -56,12 +56,12 @@ public final class FamilyAddHandler extends AbstractPacketHandler {
|
|||||||
c.sendPacket(PacketCreator.sendFamilyMessage(72, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(72, 0));
|
||||||
} else if(addChr.getFamily() != null && addChr.getFamily() == chr.getFamily()) { //same family
|
} else if(addChr.getFamily() != null && addChr.getFamily() == chr.getFamily()) { //same family
|
||||||
c.sendPacket(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
} else if(MapleInviteCoordinator.hasInvite(InviteType.FAMILY, addChr.getId())) {
|
} else if(InviteCoordinator.hasInvite(InviteType.FAMILY, addChr.getId())) {
|
||||||
c.sendPacket(PacketCreator.sendFamilyMessage(73, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(73, 0));
|
||||||
} else if(chr.getFamily() != null && addChr.getFamily() != null && addChr.getFamily().getTotalGenerations() + chr.getFamily().getTotalGenerations() > YamlConfig.config.server.FAMILY_MAX_GENERATIONS) {
|
} else if(chr.getFamily() != null && addChr.getFamily() != null && addChr.getFamily().getTotalGenerations() + chr.getFamily().getTotalGenerations() > YamlConfig.config.server.FAMILY_MAX_GENERATIONS) {
|
||||||
c.sendPacket(PacketCreator.sendFamilyMessage(76, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(76, 0));
|
||||||
} else {
|
} else {
|
||||||
MapleInviteCoordinator.createInvite(InviteType.FAMILY, chr, addChr, addChr.getId());
|
InviteCoordinator.createInvite(InviteType.FAMILY, chr, addChr, addChr.getId());
|
||||||
addChr.getClient().sendPacket(PacketCreator.sendFamilyInvite(chr.getId(), chr.getName()));
|
addChr.getClient().sendPacket(PacketCreator.sendFamilyInvite(chr.getId(), chr.getName()));
|
||||||
chr.dropMessage("The invite has been sent.");
|
chr.dropMessage("The invite has been sent.");
|
||||||
c.sendPacket(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ import client.FamilyEntry;
|
|||||||
import config.YamlConfig;
|
import config.YamlConfig;
|
||||||
import net.AbstractPacketHandler;
|
import net.AbstractPacketHandler;
|
||||||
import net.packet.InPacket;
|
import net.packet.InPacket;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteResult;
|
import net.server.coordinator.world.InviteCoordinator.InviteResult;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteType;
|
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.MapleInviteResult;
|
import net.server.coordinator.world.InviteCoordinator.MapleInviteResult;
|
||||||
import server.maps.MapleMap;
|
import server.maps.MapleMap;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ public class FamilySummonResponseHandler extends AbstractPacketHandler {
|
|||||||
if(!YamlConfig.config.server.USE_FAMILY_SYSTEM) return;
|
if(!YamlConfig.config.server.USE_FAMILY_SYSTEM) return;
|
||||||
p.readString(); //family name
|
p.readString(); //family name
|
||||||
boolean accept = p.readByte() != 0;
|
boolean accept = p.readByte() != 0;
|
||||||
MapleInviteResult inviteResult = MapleInviteCoordinator.answerInvite(InviteType.FAMILY_SUMMON, c.getPlayer().getId(), c.getPlayer(), accept);
|
MapleInviteResult inviteResult = InviteCoordinator.answerInvite(InviteType.FAMILY_SUMMON, c.getPlayer().getId(), c.getPlayer(), accept);
|
||||||
if(inviteResult.result == InviteResult.NOT_FOUND) return;
|
if(inviteResult.result == InviteResult.NOT_FOUND) return;
|
||||||
Character inviter = inviteResult.from;
|
Character inviter = inviteResult.from;
|
||||||
FamilyEntry inviterEntry = inviter.getFamilyEntry();
|
FamilyEntry inviterEntry = inviter.getFamilyEntry();
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ import client.FamilyEntry;
|
|||||||
import config.YamlConfig;
|
import config.YamlConfig;
|
||||||
import net.AbstractPacketHandler;
|
import net.AbstractPacketHandler;
|
||||||
import net.packet.InPacket;
|
import net.packet.InPacket;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteType;
|
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||||
import server.maps.FieldLimit;
|
import server.maps.FieldLimit;
|
||||||
import server.maps.MapleMap;
|
import server.maps.MapleMap;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
@@ -74,11 +74,11 @@ public final class FamilyUseHandler extends AbstractPacketHandler {
|
|||||||
if(!FieldLimit.CANNOTMIGRATE.check(targetMap.getFieldLimit()) && !FieldLimit.CANNOTVIPROCK.check(ownMap.getFieldLimit())
|
if(!FieldLimit.CANNOTMIGRATE.check(targetMap.getFieldLimit()) && !FieldLimit.CANNOTVIPROCK.check(ownMap.getFieldLimit())
|
||||||
&& (ownMap.getForcedReturnId() == 999999999 || ownMap.getId() < 100000000) && ownMap.getEventInstance() == null) {
|
&& (ownMap.getForcedReturnId() == 999999999 || ownMap.getId() < 100000000) && ownMap.getEventInstance() == null) {
|
||||||
|
|
||||||
if(MapleInviteCoordinator.hasInvite(InviteType.FAMILY_SUMMON, victim.getId())) {
|
if(InviteCoordinator.hasInvite(InviteType.FAMILY_SUMMON, victim.getId())) {
|
||||||
c.sendPacket(PacketCreator.sendFamilyMessage(74, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(74, 0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
MapleInviteCoordinator.createInvite(InviteType.FAMILY_SUMMON, c.getPlayer(), victim, victim.getId(), c.getPlayer().getMap());
|
InviteCoordinator.createInvite(InviteType.FAMILY_SUMMON, c.getPlayer(), victim, victim.getId(), c.getPlayer().getMap());
|
||||||
victim.sendPacket(PacketCreator.sendFamilySummonRequest(c.getPlayer().getFamily().getName(), c.getPlayer().getName()));
|
victim.sendPacket(PacketCreator.sendFamilySummonRequest(c.getPlayer().getFamily().getName(), c.getPlayer().getName()));
|
||||||
useEntitlement(entry, type);
|
useEntitlement(entry, type);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -25,10 +25,10 @@ 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.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteResult;
|
import net.server.coordinator.world.InviteCoordinator.InviteResult;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteType;
|
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.MapleInviteResult;
|
import net.server.coordinator.world.InviteCoordinator.MapleInviteResult;
|
||||||
import net.server.world.MapleMessenger;
|
import net.server.world.MapleMessenger;
|
||||||
import net.server.world.MapleMessengerCharacter;
|
import net.server.world.MapleMessengerCharacter;
|
||||||
import net.server.world.World;
|
import net.server.world.World;
|
||||||
@@ -49,7 +49,7 @@ public final class MessengerHandler extends AbstractPacketHandler {
|
|||||||
int messengerid = p.readInt();
|
int messengerid = p.readInt();
|
||||||
if (messenger == null) {
|
if (messenger == null) {
|
||||||
if (messengerid == 0) {
|
if (messengerid == 0) {
|
||||||
MapleInviteCoordinator.removeInvite(InviteType.MESSENGER, player.getId());
|
InviteCoordinator.removeInvite(InviteType.MESSENGER, player.getId());
|
||||||
|
|
||||||
MapleMessengerCharacter messengerplayer = new MapleMessengerCharacter(player, 0);
|
MapleMessengerCharacter messengerplayer = new MapleMessengerCharacter(player, 0);
|
||||||
messenger = world.createMessenger(messengerplayer);
|
messenger = world.createMessenger(messengerplayer);
|
||||||
@@ -58,7 +58,7 @@ public final class MessengerHandler extends AbstractPacketHandler {
|
|||||||
} else {
|
} else {
|
||||||
messenger = world.getMessenger(messengerid);
|
messenger = world.getMessenger(messengerid);
|
||||||
if (messenger != null) {
|
if (messenger != null) {
|
||||||
MapleInviteResult inviteRes = MapleInviteCoordinator.answerInvite(InviteType.MESSENGER, player.getId(), messengerid, true);
|
MapleInviteResult inviteRes = InviteCoordinator.answerInvite(InviteType.MESSENGER, player.getId(), messengerid, true);
|
||||||
InviteResult res = inviteRes.result;
|
InviteResult res = inviteRes.result;
|
||||||
if (res == InviteResult.ACCEPTED) {
|
if (res == InviteResult.ACCEPTED) {
|
||||||
int position = messenger.getLowestPosition();
|
int position = messenger.getLowestPosition();
|
||||||
@@ -74,7 +74,7 @@ public final class MessengerHandler extends AbstractPacketHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
MapleInviteCoordinator.answerInvite(InviteType.MESSENGER, player.getId(), messengerid, false);
|
InviteCoordinator.answerInvite(InviteType.MESSENGER, player.getId(), messengerid, false);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x02:
|
case 0x02:
|
||||||
@@ -88,7 +88,7 @@ public final class MessengerHandler extends AbstractPacketHandler {
|
|||||||
Character target = c.getChannelServer().getPlayerStorage().getCharacterByName(input);
|
Character target = c.getChannelServer().getPlayerStorage().getCharacterByName(input);
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
if (target.getMessenger() == null) {
|
if (target.getMessenger() == null) {
|
||||||
if (MapleInviteCoordinator.createInvite(InviteType.MESSENGER, c.getPlayer(), messenger.getId(), target.getId())) {
|
if (InviteCoordinator.createInvite(InviteType.MESSENGER, c.getPlayer(), messenger.getId(), target.getId())) {
|
||||||
target.sendPacket(PacketCreator.messengerInvite(c.getPlayer().getName(), messenger.getId()));
|
target.sendPacket(PacketCreator.messengerInvite(c.getPlayer().getName(), messenger.getId()));
|
||||||
c.sendPacket(PacketCreator.messengerNote(input, 4, 1));
|
c.sendPacket(PacketCreator.messengerNote(input, 4, 1));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ import client.Client;
|
|||||||
import config.YamlConfig;
|
import config.YamlConfig;
|
||||||
import net.AbstractPacketHandler;
|
import net.AbstractPacketHandler;
|
||||||
import net.packet.InPacket;
|
import net.packet.InPacket;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteResult;
|
import net.server.coordinator.world.InviteCoordinator.InviteResult;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteType;
|
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.MapleInviteResult;
|
import net.server.coordinator.world.InviteCoordinator.MapleInviteResult;
|
||||||
import net.server.world.MapleParty;
|
import net.server.world.MapleParty;
|
||||||
import net.server.world.MaplePartyCharacter;
|
import net.server.world.MaplePartyCharacter;
|
||||||
import net.server.world.PartyOperation;
|
import net.server.world.PartyOperation;
|
||||||
@@ -64,7 +64,7 @@ public final class PartyOperationHandler extends AbstractPacketHandler {
|
|||||||
case 3: { // join
|
case 3: { // join
|
||||||
int partyid = p.readInt();
|
int partyid = p.readInt();
|
||||||
|
|
||||||
MapleInviteResult inviteRes = MapleInviteCoordinator.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);
|
MapleParty.joinParty(player, partyid, false);
|
||||||
@@ -95,7 +95,7 @@ public final class PartyOperationHandler extends AbstractPacketHandler {
|
|||||||
party = player.getParty();
|
party = player.getParty();
|
||||||
}
|
}
|
||||||
if (party.getMembers().size() < 6) {
|
if (party.getMembers().size() < 6) {
|
||||||
if (MapleInviteCoordinator.createInvite(InviteType.PARTY, player, party.getId(), invited.getId())) {
|
if (InviteCoordinator.createInvite(InviteType.PARTY, player, party.getId(), invited.getId())) {
|
||||||
invited.sendPacket(PacketCreator.partyInvite(player));
|
invited.sendPacket(PacketCreator.partyInvite(player));
|
||||||
} else {
|
} else {
|
||||||
c.sendPacket(PacketCreator.partyStatusMessage(22, invited.getName()));
|
c.sendPacket(PacketCreator.partyStatusMessage(22, invited.getName()));
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ 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.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteType;
|
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||||
import net.server.world.MapleParty;
|
import net.server.world.MapleParty;
|
||||||
import provider.MapleData;
|
import provider.MapleData;
|
||||||
import provider.MapleDataProviderFactory;
|
import provider.MapleDataProviderFactory;
|
||||||
@@ -293,7 +293,7 @@ public class PartySearchCoordinator {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MapleInviteCoordinator.createInvite(InviteType.PARTY, leader, partyid, chr.getId())) {
|
if (InviteCoordinator.createInvite(InviteType.PARTY, leader, partyid, chr.getId())) {
|
||||||
chr.disablePartySearchInvite(leader.getId());
|
chr.disablePartySearchInvite(leader.getId());
|
||||||
chr.sendPacket(PacketCreator.partySearchInvite(leader));
|
chr.sendPacket(PacketCreator.partySearchInvite(leader));
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -29,17 +29,16 @@ import java.util.Set;
|
|||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author Ronan
|
* @author Ronan
|
||||||
*/
|
*/
|
||||||
public class MapleInviteCoordinator {
|
public class InviteCoordinator {
|
||||||
|
|
||||||
public enum InviteResult {
|
public enum InviteResult {
|
||||||
ACCEPTED,
|
ACCEPTED,
|
||||||
DENIED,
|
DENIED,
|
||||||
NOT_FOUND
|
NOT_FOUND
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum InviteType {
|
public enum InviteType {
|
||||||
//BUDDY, (not needed)
|
//BUDDY, (not needed)
|
||||||
FAMILY,
|
FAMILY,
|
||||||
@@ -49,13 +48,13 @@ public class MapleInviteCoordinator {
|
|||||||
PARTY,
|
PARTY,
|
||||||
GUILD,
|
GUILD,
|
||||||
ALLIANCE;
|
ALLIANCE;
|
||||||
|
|
||||||
final ConcurrentHashMap<Integer, Object> invites;
|
final ConcurrentHashMap<Integer, Object> invites;
|
||||||
final ConcurrentHashMap<Integer, Character> inviteFrom;
|
final ConcurrentHashMap<Integer, Character> inviteFrom;
|
||||||
final ConcurrentHashMap<Integer, Integer> inviteTimeouts;
|
final ConcurrentHashMap<Integer, Integer> inviteTimeouts;
|
||||||
final ConcurrentHashMap<Integer, Object[]> inviteParams;
|
final ConcurrentHashMap<Integer, Object[]> inviteParams;
|
||||||
|
|
||||||
private InviteType() {
|
InviteType() {
|
||||||
invites = new ConcurrentHashMap<>();
|
invites = new ConcurrentHashMap<>();
|
||||||
inviteTimeouts = new ConcurrentHashMap<>();
|
inviteTimeouts = new ConcurrentHashMap<>();
|
||||||
inviteFrom = new ConcurrentHashMap<>();
|
inviteFrom = new ConcurrentHashMap<>();
|
||||||
@@ -65,78 +64,80 @@ public class MapleInviteCoordinator {
|
|||||||
private Map<Integer, Object> getRequestsTable() {
|
private Map<Integer, Object> getRequestsTable() {
|
||||||
return invites;
|
return invites;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<Integer, Integer> getRequestsTimeoutTable() {
|
private Map<Integer, Integer> getRequestsTimeoutTable() {
|
||||||
return inviteTimeouts;
|
return inviteTimeouts;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Pair<Character, Object[]> removeRequest(Integer target) {
|
private Pair<Character, Object[]> removeRequest(Integer target) {
|
||||||
invites.remove(target);
|
invites.remove(target);
|
||||||
Character from = inviteFrom.remove(target);
|
Character from = inviteFrom.remove(target);
|
||||||
inviteTimeouts.remove(target);
|
inviteTimeouts.remove(target);
|
||||||
|
|
||||||
return new Pair<>(from, inviteParams.remove(target));
|
return new Pair<>(from, inviteParams.remove(target));
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean addRequest(Character from, Object referenceFrom, int targetCid, Object[] params) {
|
private boolean addRequest(Character from, Object referenceFrom, int targetCid, Object[] params) {
|
||||||
Object v = invites.putIfAbsent(targetCid, referenceFrom);
|
Object v = invites.putIfAbsent(targetCid, referenceFrom);
|
||||||
if (v != null) { // there was already an entry
|
if (v != null) { // there was already an entry
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
inviteFrom.put(targetCid, from);
|
inviteFrom.put(targetCid, from);
|
||||||
inviteTimeouts.put(targetCid, 0);
|
inviteTimeouts.put(targetCid, 0);
|
||||||
inviteParams.put(targetCid, params);
|
inviteParams.put(targetCid, params);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean hasRequest(int targetCid) {
|
private boolean hasRequest(int targetCid) {
|
||||||
return invites.containsKey(targetCid);
|
return invites.containsKey(targetCid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// note: referenceFrom is a specific value that represents the "common association" created between the sender/recver parties
|
// note: referenceFrom is a specific value that represents the "common association" created between the sender/recver parties
|
||||||
public static boolean createInvite(InviteType type, Character from, Object referenceFrom, int targetCid, Object... params) {
|
public static boolean createInvite(InviteType type, Character from, Object referenceFrom, int targetCid, Object... params) {
|
||||||
return type.addRequest(from, referenceFrom, targetCid, params);
|
return type.addRequest(from, referenceFrom, targetCid, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean hasInvite(InviteType type, int targetCid) {
|
public static boolean hasInvite(InviteType type, int targetCid) {
|
||||||
return type.hasRequest(targetCid);
|
return type.hasRequest(targetCid);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MapleInviteResult answerInvite(InviteType type, int targetCid, Object referenceFrom, boolean answer) {
|
public static MapleInviteResult answerInvite(InviteType type, int targetCid, Object referenceFrom, boolean answer) {
|
||||||
Map<Integer, Object> table = type.getRequestsTable();
|
Map<Integer, Object> table = type.getRequestsTable();
|
||||||
|
|
||||||
Character from = null;
|
Character from = null;
|
||||||
InviteResult result = InviteResult.NOT_FOUND;
|
InviteResult result = InviteResult.NOT_FOUND;
|
||||||
Pair<Character, Object[]> inviteInfo = null;
|
Pair<Character, Object[]> inviteInfo = null;
|
||||||
|
|
||||||
Object reference = table.get(targetCid);
|
Object reference = table.get(targetCid);
|
||||||
if (referenceFrom.equals(reference)) {
|
if (referenceFrom.equals(reference)) {
|
||||||
inviteInfo = type.removeRequest(targetCid);
|
inviteInfo = type.removeRequest(targetCid);
|
||||||
from = inviteInfo.getLeft();
|
from = inviteInfo.getLeft();
|
||||||
if (from != null && !from.isLoggedinWorld()) from = null;
|
if (from != null && !from.isLoggedinWorld()) {
|
||||||
|
from = null;
|
||||||
|
}
|
||||||
|
|
||||||
result = answer ? InviteResult.ACCEPTED : InviteResult.DENIED;
|
result = answer ? InviteResult.ACCEPTED : InviteResult.DENIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new MapleInviteResult(result, from, inviteInfo != null ? inviteInfo.getRight() : new Object[0]);
|
return new MapleInviteResult(result, from, inviteInfo != null ? inviteInfo.getRight() : new Object[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void removeInvite(InviteType type, int targetCid) {
|
public static void removeInvite(InviteType type, int targetCid) {
|
||||||
type.removeRequest(targetCid);
|
type.removeRequest(targetCid);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void removePlayerIncomingInvites(int cid) {
|
public static void removePlayerIncomingInvites(int cid) {
|
||||||
for (InviteType it : InviteType.values()) {
|
for (InviteType it : InviteType.values()) {
|
||||||
it.removeRequest(cid);
|
it.removeRequest(cid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void runTimeoutSchedule() {
|
public static void runTimeoutSchedule() {
|
||||||
for (InviteType it : InviteType.values()) {
|
for (InviteType it : InviteType.values()) {
|
||||||
Map<Integer, Integer> timeoutTable = it.getRequestsTimeoutTable();
|
Map<Integer, Integer> timeoutTable = it.getRequestsTimeoutTable();
|
||||||
|
|
||||||
if (!timeoutTable.isEmpty()) {
|
if (!timeoutTable.isEmpty()) {
|
||||||
Set<Entry<Integer, Integer>> entrySet = new HashSet<>(timeoutTable.entrySet());
|
Set<Entry<Integer, Integer>> entrySet = new HashSet<>(timeoutTable.entrySet());
|
||||||
for (Entry<Integer, Integer> e : entrySet) {
|
for (Entry<Integer, Integer> e : entrySet) {
|
||||||
@@ -151,13 +152,13 @@ public class MapleInviteCoordinator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class MapleInviteResult {
|
public static class MapleInviteResult {
|
||||||
|
|
||||||
public final InviteResult result;
|
public final InviteResult result;
|
||||||
public final Character from;
|
public final Character from;
|
||||||
public final Object[] params;
|
public final Object[] params;
|
||||||
|
|
||||||
private MapleInviteResult(InviteResult result, Character from, Object[] params) {
|
private MapleInviteResult(InviteResult result, Character from, Object[] params) {
|
||||||
this.result = result;
|
this.result = result;
|
||||||
this.from = from;
|
this.from = from;
|
||||||
@@ -25,9 +25,9 @@ import client.Character;
|
|||||||
import client.Client;
|
import client.Client;
|
||||||
import net.packet.Packet;
|
import net.packet.Packet;
|
||||||
import net.server.Server;
|
import net.server.Server;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteType;
|
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.MapleInviteResult;
|
import net.server.coordinator.world.InviteCoordinator.MapleInviteResult;
|
||||||
import net.server.world.MapleParty;
|
import net.server.world.MapleParty;
|
||||||
import net.server.world.MaplePartyCharacter;
|
import net.server.world.MaplePartyCharacter;
|
||||||
import tools.DatabaseConnection;
|
import tools.DatabaseConnection;
|
||||||
@@ -447,7 +447,7 @@ public class MapleAlliance {
|
|||||||
if (victim == null) {
|
if (victim == null) {
|
||||||
c.getPlayer().dropMessage(5, "The master of the guild that you offered an invitation is currently not online.");
|
c.getPlayer().dropMessage(5, "The master of the guild that you offered an invitation is currently not online.");
|
||||||
} else {
|
} else {
|
||||||
if (MapleInviteCoordinator.createInvite(InviteType.ALLIANCE, c.getPlayer(), allianceId, victim.getId())) {
|
if (InviteCoordinator.createInvite(InviteType.ALLIANCE, c.getPlayer(), allianceId, victim.getId())) {
|
||||||
victim.sendPacket(GuildPackets.allianceInvite(allianceId, c.getPlayer()));
|
victim.sendPacket(GuildPackets.allianceInvite(allianceId, c.getPlayer()));
|
||||||
} else {
|
} else {
|
||||||
c.getPlayer().dropMessage(5, "The master of the guild that you offered an invitation is currently managing another invite.");
|
c.getPlayer().dropMessage(5, "The master of the guild that you offered an invitation is currently managing another invite.");
|
||||||
@@ -458,7 +458,7 @@ public class MapleAlliance {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean answerInvitation(int targetId, String targetGuildName, int allianceId, boolean answer) {
|
public static boolean answerInvitation(int targetId, String targetGuildName, int allianceId, boolean answer) {
|
||||||
MapleInviteResult res = MapleInviteCoordinator.answerInvite(InviteType.ALLIANCE, targetId, allianceId, answer);
|
MapleInviteResult res = InviteCoordinator.answerInvite(InviteType.ALLIANCE, targetId, allianceId, answer);
|
||||||
|
|
||||||
String msg;
|
String msg;
|
||||||
Character sender = res.from;
|
Character sender = res.from;
|
||||||
|
|||||||
@@ -31,9 +31,9 @@ import net.server.audit.locks.MonitoredLockType;
|
|||||||
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.coordinator.matchchecker.MatchCheckerCoordinator;
|
import net.server.coordinator.matchchecker.MatchCheckerCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteType;
|
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.MapleInviteResult;
|
import net.server.coordinator.world.InviteCoordinator.MapleInviteResult;
|
||||||
import tools.DatabaseConnection;
|
import tools.DatabaseConnection;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
|
|
||||||
@@ -717,7 +717,7 @@ public class MapleGuild {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Character sender = c.getPlayer();
|
Character sender = c.getPlayer();
|
||||||
if (MapleInviteCoordinator.createInvite(InviteType.GUILD, sender, sender.getGuildId(), mc.getId())) {
|
if (InviteCoordinator.createInvite(InviteType.GUILD, sender, sender.getGuildId(), mc.getId())) {
|
||||||
mc.sendPacket(GuildPackets.guildInvite(sender.getGuildId(), sender.getName()));
|
mc.sendPacket(GuildPackets.guildInvite(sender.getGuildId(), sender.getName()));
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
@@ -726,7 +726,7 @@ public class MapleGuild {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean answerInvitation(int targetId, String targetName, int guildId, boolean answer) {
|
public static boolean answerInvitation(int targetId, String targetName, int guildId, boolean answer) {
|
||||||
MapleInviteResult res = MapleInviteCoordinator.answerInvite(InviteType.GUILD, targetId, guildId, answer);
|
MapleInviteResult res = InviteCoordinator.answerInvite(InviteType.GUILD, targetId, guildId, answer);
|
||||||
|
|
||||||
MapleGuildResponse mgr;
|
MapleGuildResponse mgr;
|
||||||
Character sender = res.from;
|
Character sender = res.from;
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
package net.server.task;
|
package net.server.task;
|
||||||
|
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Ronan
|
* @author Ronan
|
||||||
@@ -28,6 +28,6 @@ public class InvitationTask implements Runnable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
MapleInviteCoordinator.runTimeoutSchedule();
|
InviteCoordinator.runTimeoutSchedule();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,9 +41,9 @@ import net.server.channel.Channel;
|
|||||||
import net.server.channel.CharacterIdChannelPair;
|
import net.server.channel.CharacterIdChannelPair;
|
||||||
import net.server.coordinator.matchchecker.MatchCheckerCoordinator;
|
import net.server.coordinator.matchchecker.MatchCheckerCoordinator;
|
||||||
import net.server.coordinator.partysearch.PartySearchCoordinator;
|
import net.server.coordinator.partysearch.PartySearchCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteResult;
|
import net.server.coordinator.world.InviteCoordinator.InviteResult;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteType;
|
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||||
import net.server.guild.GuildPackets;
|
import net.server.guild.GuildPackets;
|
||||||
import net.server.guild.MapleGuild;
|
import net.server.guild.MapleGuild;
|
||||||
import net.server.guild.MapleGuildCharacter;
|
import net.server.guild.MapleGuildCharacter;
|
||||||
@@ -1066,7 +1066,7 @@ public class World {
|
|||||||
if (messenger == null) {
|
if (messenger == null) {
|
||||||
Character from = getChannel(fromchannel).getPlayerStorage().getCharacterByName(sender);
|
Character from = getChannel(fromchannel).getPlayerStorage().getCharacterByName(sender);
|
||||||
if (from != null) {
|
if (from != null) {
|
||||||
if (MapleInviteCoordinator.createInvite(InviteType.MESSENGER, from, messengerid, targetChr.getId())) {
|
if (InviteCoordinator.createInvite(InviteType.MESSENGER, from, messengerid, targetChr.getId())) {
|
||||||
targetChr.sendPacket(PacketCreator.messengerInvite(sender, messengerid));
|
targetChr.sendPacket(PacketCreator.messengerInvite(sender, messengerid));
|
||||||
from.sendPacket(PacketCreator.messengerNote(target, 4, 1));
|
from.sendPacket(PacketCreator.messengerNote(target, 4, 1));
|
||||||
} else {
|
} else {
|
||||||
@@ -1131,7 +1131,7 @@ public class World {
|
|||||||
if (isConnected(sender)) {
|
if (isConnected(sender)) {
|
||||||
Character senderChr = getPlayerStorage().getCharacterByName(sender);
|
Character senderChr = getPlayerStorage().getCharacterByName(sender);
|
||||||
if (senderChr != null && senderChr.getMessenger() != null) {
|
if (senderChr != null && senderChr.getMessenger() != null) {
|
||||||
if (MapleInviteCoordinator.answerInvite(InviteType.MESSENGER, player.getId(), senderChr.getMessenger().getId(), false).result == InviteResult.DENIED) {
|
if (InviteCoordinator.answerInvite(InviteType.MESSENGER, player.getId(), senderChr.getMessenger().getId(), false).result == InviteResult.DENIED) {
|
||||||
senderChr.sendPacket(PacketCreator.messengerNote(player.getName(), 5, 0));
|
senderChr.sendPacket(PacketCreator.messengerNote(player.getName(), 5, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,10 +29,10 @@ import client.inventory.manipulator.InventoryManipulator;
|
|||||||
import client.inventory.manipulator.KarmaManipulator;
|
import client.inventory.manipulator.KarmaManipulator;
|
||||||
import config.YamlConfig;
|
import config.YamlConfig;
|
||||||
import constants.game.GameConstants;
|
import constants.game.GameConstants;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.InviteCoordinator;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteResult;
|
import net.server.coordinator.world.InviteCoordinator.InviteResult;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.InviteType;
|
import net.server.coordinator.world.InviteCoordinator.InviteType;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator.MapleInviteResult;
|
import net.server.coordinator.world.InviteCoordinator.MapleInviteResult;
|
||||||
import tools.LogHelper;
|
import tools.LogHelper;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
import tools.Pair;
|
import tools.Pair;
|
||||||
@@ -367,8 +367,8 @@ public class MapleTrade {
|
|||||||
trade.getPartner().cancel(partnerResult);
|
trade.getPartner().cancel(partnerResult);
|
||||||
trade.getPartner().getChr().setTrade(null);
|
trade.getPartner().getChr().setTrade(null);
|
||||||
|
|
||||||
MapleInviteCoordinator.answerInvite(InviteType.TRADE, trade.getChr().getId(), trade.getPartner().getChr().getId(), false);
|
InviteCoordinator.answerInvite(InviteType.TRADE, trade.getChr().getId(), trade.getPartner().getChr().getId(), false);
|
||||||
MapleInviteCoordinator.answerInvite(InviteType.TRADE, trade.getPartner().getChr().getId(), trade.getChr().getId(), false);
|
InviteCoordinator.answerInvite(InviteType.TRADE, trade.getPartner().getChr().getId(), trade.getChr().getId(), false);
|
||||||
}
|
}
|
||||||
chr.setTrade(null);
|
chr.setTrade(null);
|
||||||
}
|
}
|
||||||
@@ -444,7 +444,7 @@ public class MapleTrade {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void inviteTrade(Character c1, Character c2) {
|
public static void inviteTrade(Character c1, Character c2) {
|
||||||
if (MapleInviteCoordinator.hasInvite(InviteType.TRADE, c1.getId())) {
|
if (InviteCoordinator.hasInvite(InviteType.TRADE, c1.getId())) {
|
||||||
if (hasTradeInviteBack(c1, c2)) {
|
if (hasTradeInviteBack(c1, c2)) {
|
||||||
c1.message("You are already managing this player's trade invitation.");
|
c1.message("You are already managing this player's trade invitation.");
|
||||||
} else {
|
} else {
|
||||||
@@ -457,7 +457,7 @@ public class MapleTrade {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MapleInviteCoordinator.createInvite(InviteType.TRADE, c1, c1.getId(), c2.getId())) {
|
if (InviteCoordinator.createInvite(InviteType.TRADE, c1, c1.getId(), c2.getId())) {
|
||||||
if (c2.getTrade() == null) {
|
if (c2.getTrade() == null) {
|
||||||
c2.setTrade(new MapleTrade((byte) 1, c2));
|
c2.setTrade(new MapleTrade((byte) 1, c2));
|
||||||
c2.getTrade().setPartner(c1.getTrade());
|
c2.getTrade().setPartner(c1.getTrade());
|
||||||
@@ -468,7 +468,7 @@ public class MapleTrade {
|
|||||||
} else {
|
} else {
|
||||||
c1.message("The other player is already trading with someone else.");
|
c1.message("The other player is already trading with someone else.");
|
||||||
cancelTrade(c1, TradeResult.NO_RESPONSE);
|
cancelTrade(c1, TradeResult.NO_RESPONSE);
|
||||||
MapleInviteCoordinator.answerInvite(InviteType.TRADE, c2.getId(), c1.getId(), false);
|
InviteCoordinator.answerInvite(InviteType.TRADE, c2.getId(), c1.getId(), false);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c1.message("The other player is already managing someone else's trade invitation.");
|
c1.message("The other player is already managing someone else's trade invitation.");
|
||||||
@@ -477,7 +477,7 @@ public class MapleTrade {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void visitTrade(Character c1, Character c2) {
|
public static void visitTrade(Character c1, Character c2) {
|
||||||
MapleInviteResult inviteRes = MapleInviteCoordinator.answerInvite(InviteType.TRADE, c1.getId(), c2.getId(), true);
|
MapleInviteResult inviteRes = InviteCoordinator.answerInvite(InviteType.TRADE, c1.getId(), c2.getId(), true);
|
||||||
|
|
||||||
InviteResult res = inviteRes.result;
|
InviteResult res = inviteRes.result;
|
||||||
if (res == InviteResult.ACCEPTED) {
|
if (res == InviteResult.ACCEPTED) {
|
||||||
@@ -500,7 +500,7 @@ public class MapleTrade {
|
|||||||
if (trade != null) {
|
if (trade != null) {
|
||||||
if (trade.getPartner() != null) {
|
if (trade.getPartner() != null) {
|
||||||
Character other = trade.getPartner().getChr();
|
Character other = trade.getPartner().getChr();
|
||||||
if (MapleInviteCoordinator.answerInvite(InviteType.TRADE, chr.getId(), other.getId(), false).result == InviteResult.DENIED) {
|
if (InviteCoordinator.answerInvite(InviteType.TRADE, chr.getId(), other.getId(), false).result == InviteResult.DENIED) {
|
||||||
other.message(chr.getName() + " has declined your trade request.");
|
other.message(chr.getName() + " has declined your trade request.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user