mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-04 16:49:04 +00:00
d876a923b9
* Clean up part 1 - Removed lots of dead code - Removed unncessary files not in use - Cleaned up small bits of code - Removed a few warnings - Server.java ---> GameEngine.java - Constants.java ---> GameConstants.java * Cape Dye Rewrote cape dying * Packaging - redone ----> com.rebotted * PacketSender/clean up - ActionSender ---> PacketSender - Moved many more packets to packetsender - Cleaned up more dead code * Merge Client/Player - Merged Client.java with Player.java (both were doing same thing so redundant to have both) - Removed some more dead code - Tidy a few small things up * Quests/more clean up - Removed more dead code - Made quests static in order to clean them up a bit * More cleanup - Removed some more of the dead quest code - Correcting naming of some of the shop variables
158 lines
5.2 KiB
Java
158 lines
5.2 KiB
Java
package com.rebotted.net.packets.impl;
|
|
|
|
import com.rebotted.Connection;
|
|
import com.rebotted.game.players.Client;
|
|
import com.rebotted.game.players.Player;
|
|
import com.rebotted.game.players.PlayerHandler;
|
|
import com.rebotted.game.players.antimacro.AntiSpam;
|
|
import com.rebotted.net.packets.PacketType;
|
|
import com.rebotted.util.GameLogger;
|
|
import com.rebotted.util.Misc;
|
|
|
|
/**
|
|
* Private messaging, friends etc
|
|
**/
|
|
public class PrivateMessaging implements PacketType {
|
|
|
|
public final int ADD_FRIEND = 188, SEND_PM = 126, REMOVE_FRIEND = 215,
|
|
CHANGE_PM_STATUS = 95, REMOVE_IGNORE = 59, ADD_IGNORE = 133;
|
|
|
|
@Override
|
|
public void processPacket(Player player, int packetType, int packetSize) {
|
|
switch (packetType) {
|
|
|
|
case ADD_FRIEND:
|
|
player.friendUpdate = true;
|
|
long friendToAdd = player.getInStream().readQWord();
|
|
boolean canAdd = true;
|
|
|
|
for (long friend : player.friends) {
|
|
if (friend != 0 && friend == friendToAdd) {
|
|
canAdd = false;
|
|
player.getPacketSender().sendMessage(friendToAdd + " is already on your friends list.");
|
|
}
|
|
}
|
|
if (canAdd) {
|
|
for (int i1 = 0; i1 < player.friends.length; i1++) {
|
|
if (player.friends[i1] == 0) {
|
|
player.friends[i1] = friendToAdd;
|
|
for (int i2 = 1; i2 < PlayerHandler.players.length; i2++) {
|
|
if (PlayerHandler.players[i2] != null && PlayerHandler.players[i2].isActive && Misc.playerNameToInt64(PlayerHandler.players[i2].playerName) == friendToAdd) {
|
|
Client o = (Client) PlayerHandler.players[i2];
|
|
if (o != null) {
|
|
if (PlayerHandler.players[i2].privateChat == 0 || PlayerHandler.players[i2].privateChat == 1 && o.getPlayerAssistant().isInPM(Misc.playerNameToInt64(player.playerName))) {
|
|
player.getPacketSender().loadPM(friendToAdd, 1);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
|
|
case SEND_PM:
|
|
long sendMessageToFriendId = player.getInStream().readQWord();
|
|
byte pmchatText[] = new byte[100];
|
|
int pmchatTextSize = (byte) (packetSize - 8);
|
|
player.getInStream().readBytes(pmchatText, pmchatTextSize, 0);
|
|
String word = Misc.textUnpack(pmchatText, player.packetSize - 2).toLowerCase();// used
|
|
if (player.getPlayerAssistant().isPlayer()) {
|
|
GameLogger.writeLog(player.playerName, "pmsent", player.playerName + " said " + Misc.textUnpack(pmchatText, packetSize - 8) + "");
|
|
}
|
|
if (!AntiSpam.blockedWords(player, word, false) || Connection.isMuted(player)) {
|
|
return;
|
|
}
|
|
for (long friend : player.friends) {
|
|
if (friend == sendMessageToFriendId) {
|
|
boolean pmSent = false;
|
|
|
|
for (int i2 = 1; i2 < PlayerHandler.players.length; i2++) {
|
|
if (PlayerHandler.players[i2] != null && PlayerHandler.players[i2].isActive && Misc.playerNameToInt64(PlayerHandler.players[i2].playerName) == sendMessageToFriendId) {
|
|
Client o = (Client) PlayerHandler.players[i2];
|
|
if (o != null) {
|
|
if (PlayerHandler.players[i2].privateChat == 0 || PlayerHandler.players[i2].privateChat == 1 && o.getPlayerAssistant().isInPM(Misc.playerNameToInt64(player.playerName))) {
|
|
if (friend == sendMessageToFriendId) {
|
|
o.getPacketSender().sendPM(Misc.playerNameToInt64(player.playerName), player.playerRights, pmchatText, pmchatTextSize);
|
|
if (player.getPlayerAssistant().isPlayer()) {
|
|
GameLogger.writeLog(o.playerName, "pmrecieved", player.playerName + " said to " + o.playerName + " " + Misc.textUnpack(pmchatText, packetSize - 8) + "");
|
|
}
|
|
pmSent = true;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
if (!pmSent) {
|
|
player.getPacketSender().sendMessage("That player is currently offline.");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
|
|
case REMOVE_FRIEND:
|
|
player.friendUpdate = true;
|
|
long friendToRemove = player.getInStream().readQWord();
|
|
|
|
for (int i1 = 0; i1 < player.friends.length; i1++) {
|
|
if (player.friends[i1] == friendToRemove) {
|
|
for (int i2 = 1; i2 < PlayerHandler.players.length; i2++) {
|
|
Client o = (Client) PlayerHandler.players[i2];
|
|
if (o != null) {
|
|
if (player.friends[i1] == Misc.playerNameToInt64(PlayerHandler.players[i2].playerName)) {
|
|
o.getPlayerAssistant().updatePM(player.playerId, 0);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
player.friends[i1] = 0;
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
|
|
case REMOVE_IGNORE:
|
|
player.friendUpdate = true;
|
|
long ignore = player.getInStream().readQWord();
|
|
|
|
for (int i = 0; i < player.ignores.length; i++) {
|
|
if (player.ignores[i] == ignore) {
|
|
player.ignores[i] = 0;
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
|
|
case CHANGE_PM_STATUS:
|
|
player.privateChat = player.getInStream().readUnsignedByte();
|
|
for (int i1 = 1; i1 < PlayerHandler.players.length; i1++) {
|
|
if (PlayerHandler.players[i1] != null
|
|
&& PlayerHandler.players[i1].isActive) {
|
|
Client o = (Client) PlayerHandler.players[i1];
|
|
if (o != null) {
|
|
o.getPlayerAssistant().updatePM(player.playerId, 1);
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ADD_IGNORE:
|
|
player.friendUpdate = true;
|
|
long ignoreAdd = player.getInStream().readQWord();
|
|
for (int i = 0; i < player.ignores.length; i++) {
|
|
if (player.ignores[i] == 0) {
|
|
player.ignores[i] = ignoreAdd;
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
}
|