mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-03 00:38:21 +00:00
Merge branch 'master' of git@bitbucket.org:Major-/apollo.git.
This commit is contained in:
@@ -16,7 +16,7 @@ public final class PlayerDesignMessageHandler extends MessageHandler<PlayerDesig
|
||||
@Override
|
||||
public void handle(MessageHandlerContext ctx, Player player, PlayerDesignMessage message) {
|
||||
player.setAppearance(message.getAppearance());
|
||||
player.setNew(true);
|
||||
player.setNew(false);
|
||||
player.send(new CloseInterfaceMessage());
|
||||
}
|
||||
|
||||
|
||||
@@ -83,21 +83,6 @@ public final class Player extends Mob {
|
||||
*/
|
||||
private PlayerCredentials credentials;
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return credentials.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj instanceof Player) {
|
||||
Player other = (Player) obj;
|
||||
return credentials.equals(other.credentials);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* A flag which indicates there are npcs that couldn't be added.
|
||||
*/
|
||||
@@ -168,11 +153,6 @@ public final class Player extends Mob {
|
||||
*/
|
||||
private final transient Deque<Message> queuedMessages = new ArrayDeque<>();
|
||||
|
||||
/**
|
||||
* A flag indicating if the sector changed in the last cycle.
|
||||
*/
|
||||
private transient boolean sectorChanged = false;
|
||||
|
||||
/**
|
||||
* The player's run energy.
|
||||
*/
|
||||
@@ -188,6 +168,11 @@ public final class Player extends Mob {
|
||||
*/
|
||||
private ScreenBrightness screenBrightness = ScreenBrightness.NORMAL;
|
||||
|
||||
/**
|
||||
* A flag indicating if the sector changed in the last cycle.
|
||||
*/
|
||||
private transient boolean sectorChanged = false;
|
||||
|
||||
/**
|
||||
* The {@link GameSession} currently attached to this {@link Player}.
|
||||
*/
|
||||
@@ -263,6 +248,16 @@ public final class Player extends Mob {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj instanceof Player) {
|
||||
Player other = (Player) obj;
|
||||
return credentials.equals(other.credentials);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the excessive npcs flag.
|
||||
*/
|
||||
@@ -355,11 +350,6 @@ public final class Player extends Mob {
|
||||
return EntityType.PLAYER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInteractionIndex() {
|
||||
return getIndex() | 0x8000;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets this player's friend chat {@link PrivacyState}.
|
||||
*
|
||||
@@ -387,6 +377,11 @@ public final class Player extends Mob {
|
||||
return ignores;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInteractionIndex() {
|
||||
return getIndex() | 0x8000;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets this player's interface set.
|
||||
*
|
||||
@@ -495,6 +490,11 @@ public final class Player extends Mob {
|
||||
return worldId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return credentials.hashCode();
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether or not the player with the specified username is on this player's ignore list.
|
||||
*
|
||||
@@ -680,6 +680,30 @@ public final class Player extends Mob {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends the initial messages.
|
||||
*/
|
||||
public void sendInitialMessages() {
|
||||
blockSet.add(SynchronizationBlock.createAppearanceBlock(this));
|
||||
send(new IdAssignmentMessage(index, members)); // TODO should this be sent when we reconnect?
|
||||
sendMessage("Welcome to RuneScape.");
|
||||
if (newPlayer) {
|
||||
interfaceSet.openWindow(InterfaceConstants.AVATAR_DESIGN);
|
||||
}
|
||||
|
||||
int[] tabs = InterfaceConstants.DEFAULT_INVENTORY_TABS;
|
||||
for (int tab = 0; tab < tabs.length; tab++) {
|
||||
send(new SwitchTabInterfaceMessage(tab, tabs[tab]));
|
||||
}
|
||||
|
||||
inventory.forceRefresh();
|
||||
equipment.forceRefresh();
|
||||
bank.forceRefresh();
|
||||
skillSet.forceRefresh();
|
||||
|
||||
World.getWorld().getLoginDispatcher().dispatch(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a message to the player.
|
||||
*
|
||||
@@ -833,15 +857,6 @@ public final class Player extends Mob {
|
||||
this.privilegeLevel = privilegeLevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the sector changed flag.
|
||||
*
|
||||
* @param sectorChanged A flag indicating if the sector has changed.
|
||||
*/
|
||||
public void setSectorChanged(boolean sectorChanged) {
|
||||
this.sectorChanged = sectorChanged;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the player's run energy. TODO make this an attribute?
|
||||
*
|
||||
@@ -861,18 +876,22 @@ public final class Player extends Mob {
|
||||
this.screenBrightness = brightness;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the sector changed flag.
|
||||
*
|
||||
* @param sectorChanged A flag indicating if the sector has changed.
|
||||
*/
|
||||
public void setSectorChanged(boolean sectorChanged) {
|
||||
this.sectorChanged = sectorChanged;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the player's {@link GameSession}.
|
||||
*
|
||||
* @param session The player's {@link GameSession}.
|
||||
* @param reconnecting The reconnecting flag.
|
||||
*/
|
||||
public void setSession(GameSession session, boolean reconnecting) {
|
||||
public void setSession(GameSession session) {
|
||||
this.session = session;
|
||||
if (!reconnecting) {
|
||||
sendInitialMessages();
|
||||
}
|
||||
blockSet.add(SynchronizationBlock.createAppearanceBlock(this));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -982,27 +1001,4 @@ public final class Player extends Mob {
|
||||
skillSet.addListener(new LevelUpSkillListener(this));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends the initial messages.
|
||||
*/
|
||||
private void sendInitialMessages() {
|
||||
send(new IdAssignmentMessage(index, members)); // TODO should this be sent when we reconnect?
|
||||
sendMessage("Welcome to RuneScape.");
|
||||
if (!newPlayer) {
|
||||
interfaceSet.openWindow(InterfaceConstants.AVATAR_DESIGN);
|
||||
}
|
||||
|
||||
int[] tabs = InterfaceConstants.DEFAULT_INVENTORY_TABS;
|
||||
for (int tab = 0; tab < tabs.length; tab++) {
|
||||
send(new SwitchTabInterfaceMessage(tab, tabs[tab]));
|
||||
}
|
||||
|
||||
inventory.forceRefresh();
|
||||
equipment.forceRefresh();
|
||||
bank.forceRefresh();
|
||||
skillSet.forceRefresh();
|
||||
|
||||
World.getWorld().getLoginDispatcher().dispatch(this);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -97,7 +97,7 @@ public final class LoginSession extends Session {
|
||||
rights = player.getPrivilegeLevel().toInteger();
|
||||
|
||||
GameSession session = new GameSession(channel, serverContext, player);
|
||||
RegistrationStatus registration = service.registerPlayer(player, session, request.isReconnecting());
|
||||
RegistrationStatus registration = service.registerPlayer(player, session);
|
||||
|
||||
if (registration != RegistrationStatus.OK) {
|
||||
optional = Optional.empty();
|
||||
@@ -109,6 +109,7 @@ public final class LoginSession extends Session {
|
||||
}
|
||||
|
||||
ChannelFuture future = channel.writeAndFlush(new LoginResponse(status, rights, flagged));
|
||||
|
||||
destroy();
|
||||
|
||||
if (optional.isPresent()) {
|
||||
@@ -129,6 +130,10 @@ public final class LoginSession extends Session {
|
||||
} else {
|
||||
future.addListener(ChannelFutureListener.CLOSE);
|
||||
}
|
||||
|
||||
if (optional.isPresent()) {
|
||||
optional.get().sendInitialMessages();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user