DispatchManager is now an official manager singleton.
This commit is contained in:
@@ -17,7 +17,6 @@ import engine.mbEnums.GameObjectType;
|
||||
import engine.mbEnums.ModType;
|
||||
import engine.mbEnums.SourceType;
|
||||
import engine.net.Dispatch;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.MessageDispatcher;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.net.client.handlers.ClientAdminCommandMsgHandler;
|
||||
@@ -87,7 +86,7 @@ public enum ChatManager {
|
||||
for (AbstractWorldObject abstractWorldObject : distroList) {
|
||||
PlayerCharacter playerCharacter = (PlayerCharacter) abstractWorldObject;
|
||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, msg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,7 +160,7 @@ public enum ChatManager {
|
||||
|
||||
// Make the Message
|
||||
ChatSayMsg chatSayMsg = new ChatSayMsg(player, text);
|
||||
DispatchMessage.dispatchMsgToInterestArea(pcSender, chatSayMsg, mbEnums.DispatchChannel.SECONDARY, MBServerStatics.SAY_RANGE, true, true);
|
||||
DispatchManager.dispatchMsgToInterestArea(pcSender, chatSayMsg, mbEnums.DispatchChannel.SECONDARY, MBServerStatics.SAY_RANGE, true, true);
|
||||
|
||||
}
|
||||
|
||||
@@ -171,7 +170,7 @@ public enum ChatManager {
|
||||
msg.setMessageType(4);
|
||||
msg.setChannel(mbEnums.ChatChannelType.SYSTEM.getChannelID());
|
||||
Dispatch dispatch = Dispatch.borrow(targetPlayer, msg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -195,7 +194,7 @@ public enum ChatManager {
|
||||
|
||||
// Make the Message
|
||||
ChatShoutMsg msg = new ChatShoutMsg(sender, text);
|
||||
DispatchMessage.dispatchMsgToInterestArea(pcSender, msg, mbEnums.DispatchChannel.SECONDARY, MBServerStatics.SHOUT_RANGE, true, true);
|
||||
DispatchManager.dispatchMsgToInterestArea(pcSender, msg, mbEnums.DispatchChannel.SECONDARY, MBServerStatics.SHOUT_RANGE, true, true);
|
||||
|
||||
}
|
||||
|
||||
@@ -217,7 +216,7 @@ public enum ChatManager {
|
||||
|
||||
// Make the Message
|
||||
ChatGlobalMsg msg = new ChatGlobalMsg(sender, text);
|
||||
DispatchMessage.dispatchMsgToAll(sender, msg, true);
|
||||
DispatchManager.dispatchMsgToAll(sender, msg, true);
|
||||
|
||||
}
|
||||
|
||||
@@ -284,13 +283,13 @@ public enum ChatManager {
|
||||
// Send dispatch to each player
|
||||
|
||||
Dispatch dispatch = Dispatch.borrow(pcRecip, chatTellMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
}
|
||||
|
||||
// Also send /tell to sender
|
||||
if (pcSender != null) {
|
||||
Dispatch dispatch = Dispatch.borrow(pcSender, chatTellMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
}
|
||||
|
||||
} else
|
||||
@@ -349,7 +348,7 @@ public enum ChatManager {
|
||||
for (AbstractWorldObject abstractWorldObject : distroList) {
|
||||
PlayerCharacter playerCharacter = (PlayerCharacter) abstractWorldObject;
|
||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, chatGuildMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -404,7 +403,7 @@ public enum ChatManager {
|
||||
for (AbstractWorldObject abstractWorldObject : distroList) {
|
||||
PlayerCharacter playerCharacter = (PlayerCharacter) abstractWorldObject;
|
||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, chatICMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -463,7 +462,7 @@ public enum ChatManager {
|
||||
for (AbstractWorldObject abstractWorldObject : distroList) {
|
||||
PlayerCharacter playerCharacter = (PlayerCharacter) abstractWorldObject;
|
||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, chatGroupMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -497,7 +496,7 @@ public enum ChatManager {
|
||||
for (AbstractWorldObject abstractWorldObject : distroList) {
|
||||
PlayerCharacter playerCharacter = (PlayerCharacter) abstractWorldObject;
|
||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, msg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -733,7 +732,7 @@ public enum ChatManager {
|
||||
public static void chatPVP(String text) {
|
||||
// Create message
|
||||
ChatPvPMsg msg = new ChatPvPMsg(null, text);
|
||||
DispatchMessage.dispatchMsgToAll(msg);
|
||||
DispatchManager.dispatchMsgToAll(msg);
|
||||
}
|
||||
|
||||
public static ChatSystemMsg CombatInfo(AbstractWorldObject source, AbstractWorldObject target) {
|
||||
@@ -844,7 +843,7 @@ public enum ChatManager {
|
||||
for (AbstractWorldObject abstractWorldObject : distroList) {
|
||||
PlayerCharacter playerCharacter = (PlayerCharacter) abstractWorldObject;
|
||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, chatSystemMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -993,7 +992,7 @@ public enum ChatManager {
|
||||
chatSystemMsg.setChannel(channel);
|
||||
|
||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, chatSystemMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ import engine.job.JobScheduler;
|
||||
import engine.jobs.AttackJob;
|
||||
import engine.jobs.DeferredPowerJob;
|
||||
import engine.mbEnums;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.net.client.msg.TargetedActionMsg;
|
||||
import engine.net.client.msg.UpdateStateMsg;
|
||||
@@ -272,9 +271,9 @@ public enum CombatManager {
|
||||
TargetedActionMsg msg = new TargetedActionMsg(attacker, target, 0f, passiveAnim);
|
||||
|
||||
if (target.getObjectType() == mbEnums.GameObjectType.PlayerCharacter)
|
||||
DispatchMessage.dispatchMsgToInterestArea(target, msg, mbEnums.DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(target, msg, mbEnums.DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
else
|
||||
DispatchMessage.sendToAllInRange(attacker, msg);
|
||||
DispatchManager.sendToAllInRange(attacker, msg);
|
||||
|
||||
//set auto attack job
|
||||
setAutoAttackJob(attacker, slot, delay);
|
||||
@@ -309,9 +308,9 @@ public enum CombatManager {
|
||||
TargetedActionMsg msg = new TargetedActionMsg(attacker, passiveAnim, target, passiveType.value);
|
||||
|
||||
if (target.getObjectType() == mbEnums.GameObjectType.PlayerCharacter)
|
||||
DispatchMessage.dispatchMsgToInterestArea(target, msg, mbEnums.DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(target, msg, mbEnums.DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
else
|
||||
DispatchMessage.sendToAllInRange(attacker, msg);
|
||||
DispatchManager.sendToAllInRange(attacker, msg);
|
||||
|
||||
//set auto attack job
|
||||
setAutoAttackJob(attacker, slot, delay);
|
||||
@@ -382,7 +381,7 @@ public enum CombatManager {
|
||||
//apply Damage back
|
||||
attacker.modifyHealth(-total, absTarget, true);
|
||||
TargetedActionMsg cmm = new TargetedActionMsg(attacker, attacker, total, 0);
|
||||
DispatchMessage.sendToAllInRange(target, cmm);
|
||||
DispatchManager.sendToAllInRange(target, cmm);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -420,7 +419,7 @@ public enum CombatManager {
|
||||
}
|
||||
}
|
||||
TargetedActionMsg cmm = new TargetedActionMsg(attacker, target, (float) damage, attackAnim);
|
||||
DispatchMessage.sendToAllInRange(target, cmm);
|
||||
DispatchManager.sendToAllInRange(target, cmm);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -457,7 +456,7 @@ public enum CombatManager {
|
||||
|
||||
UpdateStateMsg rwss = new UpdateStateMsg();
|
||||
rwss.setPlayer(playerCharacter);
|
||||
DispatchMessage.dispatchMsgToInterestArea(playerCharacter, rwss, mbEnums.DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, false, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(playerCharacter, rwss, mbEnums.DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, false, false);
|
||||
}
|
||||
|
||||
public static void toggleSit(boolean toggle, ClientConnection origin) {
|
||||
@@ -470,7 +469,7 @@ public enum CombatManager {
|
||||
playerCharacter.setSit(toggle);
|
||||
UpdateStateMsg rwss = new UpdateStateMsg();
|
||||
rwss.setPlayer(playerCharacter);
|
||||
DispatchMessage.dispatchMsgToInterestArea(playerCharacter, rwss, mbEnums.DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(playerCharacter, rwss, mbEnums.DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,316 @@
|
||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
||||
// Magicbane Emulator Project © 2013 - 2022
|
||||
// www.magicbane.com
|
||||
|
||||
|
||||
package engine.gameManager;
|
||||
|
||||
import engine.InterestManagement.WorldGrid;
|
||||
import engine.math.Vector3fImmutable;
|
||||
import engine.mbEnums.DispatchChannel;
|
||||
import engine.mbEnums.GameObjectType;
|
||||
import engine.net.AbstractNetMsg;
|
||||
import engine.net.Dispatch;
|
||||
import engine.net.MessageDispatcher;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.objects.AbstractWorldObject;
|
||||
import engine.objects.Item;
|
||||
import engine.objects.PlayerCharacter;
|
||||
import engine.server.MBServerStatics;
|
||||
import org.pmw.tinylog.Logger;
|
||||
|
||||
import java.util.HashSet;
|
||||
|
||||
import static engine.net.MessageDispatcher.dispatchCount;
|
||||
import static engine.net.MessageDispatcher.maxRecipients;
|
||||
|
||||
/*
|
||||
* Dispatch Message is the main interface to Magicbane's threaded
|
||||
* async message delivery system.
|
||||
*/
|
||||
|
||||
public enum DispatchManager {
|
||||
|
||||
DISPATCH_MANAGER;
|
||||
|
||||
public static void startMessagePump() {
|
||||
|
||||
Thread messageDispatcher;
|
||||
messageDispatcher = new Thread(new MessageDispatcher());
|
||||
|
||||
messageDispatcher.setName("MessageDispatcher");
|
||||
messageDispatcher.start();
|
||||
}
|
||||
|
||||
|
||||
public static void sendToAllInRange(AbstractWorldObject obj,
|
||||
AbstractNetMsg msg) {
|
||||
|
||||
if (obj == null)
|
||||
return;
|
||||
|
||||
if (obj.getObjectType() == GameObjectType.PlayerCharacter || obj.getObjectType() == GameObjectType.Mob || obj.getObjectType() == GameObjectType.NPC || obj.getObjectType() == GameObjectType.Corpse)
|
||||
dispatchMsgToInterestArea(obj, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
else
|
||||
dispatchMsgToInterestArea(obj, msg, DispatchChannel.PRIMARY, MBServerStatics.STRUCTURE_LOAD_RANGE, false, false);
|
||||
|
||||
}
|
||||
|
||||
// Dispatches a message to a playercharacter's interest area
|
||||
// Method includes handling of exclusion rules for visibility, self, etc.
|
||||
|
||||
public static void dispatchMsgToInterestArea(AbstractWorldObject sourceObject, AbstractNetMsg msg, DispatchChannel dispatchChannel, int interestRange, boolean sendToSelf, boolean useIgnore) {
|
||||
|
||||
Dispatch messageDispatch;
|
||||
HashSet<AbstractWorldObject> gridList;
|
||||
PlayerCharacter gridPlayer;
|
||||
AbstractWorldObject dispatchSource;
|
||||
PlayerCharacter sourcePlayer = null;
|
||||
long recipientCount = 0;
|
||||
|
||||
if (sourceObject == null)
|
||||
return;
|
||||
|
||||
// If the source of the message is a structure, item or player
|
||||
// setup our method variables accordingly.
|
||||
|
||||
switch (sourceObject.getObjectType()) {
|
||||
case Item:
|
||||
dispatchSource = (AbstractWorldObject) ((Item) sourceObject).getOwner();
|
||||
break;
|
||||
case PlayerCharacter:
|
||||
dispatchSource = sourceObject;
|
||||
sourcePlayer = (PlayerCharacter) sourceObject;
|
||||
if (sourcePlayer.getClientConnection() != null && sendToSelf) {
|
||||
Dispatch dispatch = Dispatch.borrow(sourcePlayer, msg);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
default:
|
||||
dispatchSource = sourceObject;
|
||||
}
|
||||
|
||||
gridList = WorldGrid.getObjectsInRangePartial(dispatchSource.getLoc(), interestRange, MBServerStatics.MASK_PLAYER);
|
||||
|
||||
for (AbstractWorldObject gridObject : gridList) {
|
||||
|
||||
gridPlayer = (PlayerCharacter) gridObject;
|
||||
|
||||
// Apply filter options if source of dispatch is a player
|
||||
|
||||
if ((dispatchSource.getObjectType() == GameObjectType.PlayerCharacter) &&
|
||||
(sourcePlayer != null)) {
|
||||
|
||||
if (gridPlayer.getObjectUUID() == sourcePlayer.getObjectUUID())
|
||||
continue;
|
||||
|
||||
if ((useIgnore == true) && (gridPlayer.isIgnoringPlayer(sourcePlayer) == true))
|
||||
continue;
|
||||
|
||||
if (gridPlayer.canSee(sourcePlayer) == false)
|
||||
continue;
|
||||
}
|
||||
|
||||
messageDispatch = Dispatch.borrow(gridPlayer, msg);
|
||||
MessageDispatcher.send(messageDispatch, dispatchChannel);
|
||||
recipientCount++;
|
||||
}
|
||||
|
||||
// Update metrics
|
||||
|
||||
if (recipientCount > maxRecipients[dispatchChannel.getChannelID()])
|
||||
maxRecipients[dispatchChannel.getChannelID()] = recipientCount;
|
||||
|
||||
dispatchCount[dispatchChannel.getChannelID()].increment();
|
||||
}
|
||||
|
||||
public static void dispatchMsgToInterestArea(Vector3fImmutable targetLoc, AbstractWorldObject sourceObject, AbstractNetMsg msg, DispatchChannel dispatchChannel, int interestRange, boolean sendToSelf, boolean useIgnore) {
|
||||
|
||||
Dispatch messageDispatch;
|
||||
HashSet<AbstractWorldObject> gridList;
|
||||
PlayerCharacter gridPlayer;
|
||||
AbstractWorldObject dispatchSource;
|
||||
PlayerCharacter sourcePlayer = null;
|
||||
long recipientCount = 0;
|
||||
|
||||
if (sourceObject == null)
|
||||
return;
|
||||
|
||||
// If the source of the message is a structure, item or player
|
||||
// setup our method variables accordingly.
|
||||
|
||||
switch (sourceObject.getObjectType()) {
|
||||
case Item:
|
||||
dispatchSource = (AbstractWorldObject) ((Item) sourceObject).getOwner();
|
||||
break;
|
||||
case PlayerCharacter:
|
||||
dispatchSource = sourceObject;
|
||||
sourcePlayer = (PlayerCharacter) sourceObject;
|
||||
|
||||
if (sourcePlayer.getClientConnection() != null && sendToSelf) {
|
||||
Dispatch dispatch = Dispatch.borrow(sourcePlayer, msg);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
default:
|
||||
dispatchSource = sourceObject;
|
||||
}
|
||||
|
||||
gridList = WorldGrid.getObjectsInRangePartial(targetLoc, interestRange, MBServerStatics.MASK_PLAYER);
|
||||
|
||||
for (AbstractWorldObject gridObject : gridList) {
|
||||
|
||||
gridPlayer = (PlayerCharacter) gridObject;
|
||||
|
||||
// Apply filter options if source of dispatch is a player
|
||||
|
||||
if ((dispatchSource.getObjectType() == GameObjectType.PlayerCharacter) &&
|
||||
(sourcePlayer != null)) {
|
||||
|
||||
if (gridPlayer.getObjectUUID() == sourcePlayer.getObjectUUID())
|
||||
continue;
|
||||
|
||||
if ((useIgnore == true) && (gridPlayer.isIgnoringPlayer(sourcePlayer) == true))
|
||||
continue;
|
||||
|
||||
if (gridPlayer.canSee(sourcePlayer) == false)
|
||||
continue;
|
||||
}
|
||||
|
||||
messageDispatch = Dispatch.borrow(gridPlayer, msg);
|
||||
MessageDispatcher.send(messageDispatch, dispatchChannel);
|
||||
recipientCount++;
|
||||
}
|
||||
|
||||
// Update metrics
|
||||
|
||||
if (recipientCount > maxRecipients[dispatchChannel.getChannelID()])
|
||||
maxRecipients[dispatchChannel.getChannelID()] = recipientCount;
|
||||
|
||||
dispatchCount[dispatchChannel.getChannelID()].increment();
|
||||
}
|
||||
|
||||
// Sends a message to all players in the game
|
||||
|
||||
public static void dispatchMsgToAll(AbstractNetMsg msg) {
|
||||
|
||||
Dispatch messageDispatch;
|
||||
long recipientCount = 0;
|
||||
|
||||
// Send message to nobody? No thanks!
|
||||
|
||||
if (SessionManager.getAllActivePlayerCharacters().isEmpty())
|
||||
return;
|
||||
|
||||
// Messages to all we will default to the secondary dispatch
|
||||
// delivery channel. They are generally large, or inconsequential.
|
||||
|
||||
for (PlayerCharacter player : SessionManager.getAllActivePlayerCharacters()) {
|
||||
messageDispatch = Dispatch.borrow(player, msg);
|
||||
MessageDispatcher.send(messageDispatch, DispatchChannel.SECONDARY);
|
||||
recipientCount++;
|
||||
}
|
||||
|
||||
// Update metrics
|
||||
|
||||
if (recipientCount > maxRecipients[DispatchChannel.SECONDARY.getChannelID()])
|
||||
maxRecipients[DispatchChannel.SECONDARY.getChannelID()] = recipientCount;
|
||||
|
||||
dispatchCount[DispatchChannel.SECONDARY.getChannelID()].increment();
|
||||
|
||||
}
|
||||
|
||||
public static void dispatchMsgToAll(PlayerCharacter source, AbstractNetMsg msg, boolean ignore) {
|
||||
|
||||
Dispatch messageDispatch;
|
||||
long recipientCount = 0;
|
||||
|
||||
// Send message to nobody? No thanks!
|
||||
|
||||
if (SessionManager.getAllActivePlayerCharacters().isEmpty())
|
||||
return;
|
||||
|
||||
// Messages to all we will default to the secondary dispatch
|
||||
// delivery channel. They are generally large, or inconsequential.
|
||||
|
||||
for (PlayerCharacter player : SessionManager.getAllActivePlayerCharacters()) {
|
||||
|
||||
if (ignore && player.isIgnoringPlayer(source))
|
||||
continue;
|
||||
|
||||
messageDispatch = Dispatch.borrow(player, msg);
|
||||
MessageDispatcher.send(messageDispatch, DispatchChannel.SECONDARY);
|
||||
recipientCount++;
|
||||
}
|
||||
|
||||
// Update metrics
|
||||
|
||||
if (recipientCount > maxRecipients[DispatchChannel.SECONDARY.getChannelID()])
|
||||
maxRecipients[DispatchChannel.SECONDARY.getChannelID()] = recipientCount;
|
||||
|
||||
dispatchCount[DispatchChannel.SECONDARY.getChannelID()].increment();
|
||||
|
||||
}
|
||||
|
||||
// Sends a message to an arbitrary distribution list
|
||||
|
||||
public static void dispatchMsgDispatch(Dispatch messageDispatch, DispatchChannel dispatchChannel) {
|
||||
|
||||
if (messageDispatch == null) {
|
||||
Logger.info("DISPATCH Null for DispatchMessage!");
|
||||
return;
|
||||
}
|
||||
|
||||
// No need to serialize an empty list
|
||||
|
||||
if (messageDispatch.player == null) {
|
||||
Logger.info("Player Null for Dispatch!");
|
||||
messageDispatch.release();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
MessageDispatcher.send(messageDispatch, dispatchChannel);
|
||||
|
||||
dispatchCount[dispatchChannel.getChannelID()].increment();
|
||||
|
||||
}
|
||||
|
||||
public static void serializeDispatch(Dispatch messageDispatch) {
|
||||
ClientConnection connection;
|
||||
|
||||
if (messageDispatch.player == null) {
|
||||
Logger.info("Player null in serializeDispatch");
|
||||
messageDispatch.release();
|
||||
return;
|
||||
}
|
||||
|
||||
connection = messageDispatch.player.getClientConnection();
|
||||
|
||||
if ((connection == null) || (connection.isConnected() == false)) {
|
||||
messageDispatch.release();
|
||||
return;
|
||||
}
|
||||
|
||||
if (messageDispatch.msg == null) {
|
||||
Logger.error("null message sent to " + messageDispatch.player.getName());
|
||||
messageDispatch.release();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!connection.sendMsg(messageDispatch.msg))
|
||||
Logger.error(messageDispatch.msg.getProtocolMsg() + " failed sending to " + messageDispatch.player.getName());
|
||||
|
||||
messageDispatch.release();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -12,7 +12,6 @@ import engine.loot.ModTableEntry;
|
||||
import engine.loot.ModTypeTableEntry;
|
||||
import engine.loot.WorkOrder;
|
||||
import engine.mbEnums;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.client.msg.ItemProductionMsg;
|
||||
import engine.objects.City;
|
||||
import engine.objects.Item;
|
||||
@@ -81,7 +80,7 @@ public enum ForgeManager implements Runnable {
|
||||
for (Item workOrderItem : workOrder.cooking) {
|
||||
workOrderItem.flags.add(mbEnums.ItemFlags.Identified);
|
||||
ItemProductionMsg outMsg = new ItemProductionMsg(workOrder.vendor.building, workOrder.vendor, workOrderItem, mbEnums.ProductionActionType.CONFIRM_PRODUCE, true);
|
||||
DispatchMessage.dispatchMsgToInterestArea(workOrder.vendor, outMsg, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(workOrder.vendor, outMsg, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
|
||||
}
|
||||
|
||||
// Set this workOrder to completed and update on disk
|
||||
@@ -322,9 +321,9 @@ public enum ForgeManager implements Runnable {
|
||||
workOrder.vendor.charItemManager.addItemToInventory(completedItem);
|
||||
|
||||
ItemProductionMsg outMsg1 = new ItemProductionMsg(workOrder.vendor.building, workOrder.vendor, completedItem, mbEnums.ProductionActionType.DEPOSIT, true);
|
||||
DispatchMessage.dispatchMsgToInterestArea(workOrder.vendor, outMsg1, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(workOrder.vendor, outMsg1, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
|
||||
ItemProductionMsg outMsg2 = new ItemProductionMsg(workOrder.vendor.building, workOrder.vendor, completedItem, mbEnums.ProductionActionType.CONFIRM_DEPOSIT, true);
|
||||
DispatchMessage.dispatchMsgToInterestArea(workOrder.vendor, outMsg2, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(workOrder.vendor, outMsg2, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
|
||||
|
||||
toRemove.add(virutalItem);
|
||||
}
|
||||
@@ -334,7 +333,7 @@ public enum ForgeManager implements Runnable {
|
||||
// Remove virtual items from the forge window
|
||||
|
||||
ItemProductionMsg outMsg = new ItemProductionMsg(workOrder.vendor.building, workOrder.vendor, virtualItem, mbEnums.ProductionActionType.CONFIRM_SETPRICE, true);
|
||||
DispatchMessage.dispatchMsgToInterestArea(workOrder.vendor, outMsg, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(workOrder.vendor, outMsg, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
|
||||
|
||||
// Remove virtual item from all collections
|
||||
|
||||
@@ -357,7 +356,7 @@ public enum ForgeManager implements Runnable {
|
||||
// Update NPC window
|
||||
|
||||
ItemProductionMsg outMsg = new ItemProductionMsg(workOrder.vendor.building, workOrder.vendor, forged_item, mbEnums.ProductionActionType.CONFIRM_PRODUCE, true);
|
||||
DispatchMessage.dispatchMsgToInterestArea(workOrder.vendor, outMsg, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(workOrder.vendor, outMsg, mbEnums.DispatchChannel.SECONDARY, 700, false, false);
|
||||
workOrder.total_produced = workOrder.total_produced + 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,10 +8,9 @@
|
||||
|
||||
package engine.gameManager;
|
||||
|
||||
import engine.mbEnums;
|
||||
import engine.exception.MsgSendException;
|
||||
import engine.mbEnums;
|
||||
import engine.net.Dispatch;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.net.client.msg.UpdateGoldMsg;
|
||||
import engine.net.client.msg.group.GroupUpdateMsg;
|
||||
@@ -80,7 +79,7 @@ public enum GroupManager {
|
||||
groupUpdateMsg.setMessageType(3);
|
||||
groupUpdateMsg.setPlayer(groupMember);
|
||||
Dispatch dispatch = Dispatch.borrow(source, groupUpdateMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
|
||||
}
|
||||
|
||||
@@ -160,7 +159,7 @@ public enum GroupManager {
|
||||
gum.setPlayerUUID(groupMember.getObjectUUID());
|
||||
|
||||
Dispatch dispatch = Dispatch.borrow(groupMember, gum);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -189,7 +188,7 @@ public enum GroupManager {
|
||||
gum.setMessageType(1);
|
||||
gum.setPlayer(groupMember);
|
||||
Dispatch dispatch = Dispatch.borrow(groupMember, gum);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -217,7 +216,7 @@ public enum GroupManager {
|
||||
gum.setPlayer(playerToRefresh);
|
||||
|
||||
Dispatch dispatch = Dispatch.borrow(source, gum);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
}
|
||||
|
||||
public static void RefreshOthersGroupList(PlayerCharacter source) {
|
||||
@@ -372,12 +371,12 @@ public enum GroupManager {
|
||||
ugm.configure();
|
||||
|
||||
Dispatch dispatch = Dispatch.borrow(splitPlayer, ugm);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
}
|
||||
|
||||
UpdateGoldMsg updateTargetGold = new UpdateGoldMsg(tar);
|
||||
updateTargetGold.configure();
|
||||
DispatchMessage.dispatchMsgToInterestArea(tar, updateTargetGold, mbEnums.DispatchChannel.SECONDARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(tar, updateTargetGold, mbEnums.DispatchChannel.SECONDARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
|
||||
// //TODO send group split message
|
||||
String text = "Group Split: " + amount;
|
||||
|
||||
@@ -12,7 +12,6 @@ import engine.mbEnums;
|
||||
import engine.mbEnums.BuildingGroup;
|
||||
import engine.mbEnums.GuildHistoryType;
|
||||
import engine.net.Dispatch;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.net.client.msg.guild.AcceptInviteToGuildMsg;
|
||||
import engine.net.client.msg.guild.GuildInfoMsg;
|
||||
@@ -89,14 +88,14 @@ public enum GuildManager {
|
||||
|
||||
if (fromTeleportScreen) {
|
||||
dispatch = Dispatch.borrow(playerCharacter, msg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
|
||||
}
|
||||
if (DbManager.GuildQueries.ADD_TO_GUILDHISTORY(guild.getObjectUUID(), playerCharacter, DateTime.now(), historyType)) {
|
||||
GuildHistory guildHistory = new GuildHistory(guild.getObjectUUID(), guild.getName(), DateTime.now(), historyType);
|
||||
playerCharacter.getGuildHistory().add(guildHistory);
|
||||
}
|
||||
|
||||
DispatchMessage.sendToAllInRange(playerCharacter, new GuildInfoMsg(playerCharacter, guild, 2));
|
||||
DispatchManager.sendToAllInRange(playerCharacter, new GuildInfoMsg(playerCharacter, guild, 2));
|
||||
|
||||
// Send guild join message
|
||||
|
||||
@@ -190,7 +189,7 @@ public enum GuildManager {
|
||||
|
||||
for (PlayerCharacter player : SessionManager.getAllActivePlayerCharacters())
|
||||
if (player.getGuild().equals(guild))
|
||||
DispatchMessage.sendToAllInRange(player, new GuildInfoMsg(player, guild, 2));
|
||||
DispatchManager.sendToAllInRange(player, new GuildInfoMsg(player, guild, 2));
|
||||
}
|
||||
|
||||
public static Boolean meetsLoreRequirements(Guild guild, PlayerCharacter player) {
|
||||
|
||||
@@ -10,7 +10,6 @@ package engine.gameManager;
|
||||
|
||||
import engine.loot.*;
|
||||
import engine.mbEnums;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.client.msg.ErrorPopupMsg;
|
||||
import engine.net.client.msg.chat.ChatSystemMsg;
|
||||
import engine.objects.*;
|
||||
@@ -96,7 +95,7 @@ public enum LootManager {
|
||||
ChatSystemMsg chatMsg = new ChatSystemMsg(null, mob.getName() + " in " + mob.getParentZone().zoneName + " has found the " + item.template.item_base_name + ". Are you tough enough to take it?");
|
||||
chatMsg.setMessageType(10);
|
||||
chatMsg.setChannel(mbEnums.ChatChannelType.SYSTEM.getChannelID());
|
||||
DispatchMessage.dispatchMsgToAll(chatMsg);
|
||||
DispatchManager.dispatchMsgToAll(chatMsg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ import engine.mbEnums.DispatchChannel;
|
||||
import engine.mbEnums.GameObjectType;
|
||||
import engine.mbEnums.ModType;
|
||||
import engine.mbEnums.SourceType;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.net.client.msg.MoveToPointMsg;
|
||||
import engine.net.client.msg.TeleportToPointMsg;
|
||||
@@ -50,9 +49,9 @@ public enum MovementManager {
|
||||
UpdateStateMsg rssm = new UpdateStateMsg();
|
||||
rssm.setPlayer(ac);
|
||||
if (ac.getObjectType() == GameObjectType.PlayerCharacter)
|
||||
DispatchMessage.dispatchMsgToInterestArea(ac, rssm, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(ac, rssm, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
else
|
||||
DispatchMessage.sendToAllInRange(ac, rssm);
|
||||
DispatchManager.sendToAllInRange(ac, rssm);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -241,7 +240,7 @@ public enum MovementManager {
|
||||
// If it's not a player moving just send the message
|
||||
|
||||
if ((toMove.getObjectType() == GameObjectType.PlayerCharacter) == false) {
|
||||
DispatchMessage.sendToAllInRange(toMove, msg);
|
||||
DispatchManager.sendToAllInRange(toMove, msg);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -253,9 +252,9 @@ public enum MovementManager {
|
||||
player.setTimeStamp("lastMoveGate", System.currentTimeMillis());
|
||||
|
||||
if (collide)
|
||||
DispatchMessage.dispatchMsgToInterestArea(player, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(player, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
else
|
||||
DispatchMessage.dispatchMsgToInterestArea(player, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, false, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(player, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, false, false);
|
||||
|
||||
|
||||
// Handle formation movement if needed
|
||||
@@ -443,7 +442,7 @@ public enum MovementManager {
|
||||
groupMsg.setStartCoord(member.getLoc());
|
||||
groupMsg.setEndCoord(destination);
|
||||
groupMsg.clearTarget();
|
||||
DispatchMessage.sendToAllInRange(member, groupMsg);
|
||||
DispatchManager.sendToAllInRange(member, groupMsg);
|
||||
|
||||
// update group member
|
||||
member.setFaceDir(destination.subtract2D(member.getLoc()).normalize());
|
||||
@@ -463,7 +462,7 @@ public enum MovementManager {
|
||||
InterestManager.INTERESTMANAGER.HandleLoadForTeleport((PlayerCharacter) teleporter);
|
||||
|
||||
TeleportToPointMsg msg = new TeleportToPointMsg(teleporter, teleporter.loc.getX(), teleporter.loc.getY(), teleporter.loc.getZ(), 0, -1, -1);
|
||||
DispatchMessage.dispatchMsgToInterestArea(oldLoc, teleporter, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(oldLoc, teleporter, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ import engine.math.Vector3f;
|
||||
import engine.math.Vector3fImmutable;
|
||||
import engine.mbEnums;
|
||||
import engine.net.Dispatch;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.net.client.msg.ErrorPopupMsg;
|
||||
import engine.net.client.msg.PetMsg;
|
||||
@@ -69,7 +68,7 @@ public enum NPCManager {
|
||||
|
||||
PetMsg petMsg = new PetMsg(5, null);
|
||||
Dispatch dispatch = Dispatch.borrow(petOwner, petMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.PRIMARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.PRIMARY);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@ import engine.math.Vector3fImmutable;
|
||||
import engine.mbEnums.*;
|
||||
import engine.net.ByteBufferWriter;
|
||||
import engine.net.Dispatch;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.net.client.msg.*;
|
||||
import engine.objects.*;
|
||||
@@ -191,7 +190,7 @@ public enum PowersManager {
|
||||
|
||||
RecyclePowerMsg recyclePowerMsg = new RecyclePowerMsg(msg.getPowerUsedID());
|
||||
Dispatch dispatch = Dispatch.borrow(origin.getPlayerCharacter(), recyclePowerMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
|
||||
// Send Fail to cast message
|
||||
PlayerCharacter pc = SessionManager
|
||||
@@ -244,7 +243,7 @@ public enum PowersManager {
|
||||
|
||||
RecyclePowerMsg recyclePowerMsg = new RecyclePowerMsg(msg.getPowerUsedID());
|
||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, recyclePowerMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -488,7 +487,7 @@ public enum PowersManager {
|
||||
0f, 0f, 0, null,
|
||||
9999, 0);
|
||||
mhm.setOmitFromChat(1);
|
||||
DispatchMessage.dispatchMsgToInterestArea(playerCharacter, mhm, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(playerCharacter, mhm, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
}
|
||||
else if (pb.useMana())
|
||||
if (playerCharacter.getMana() < cost)
|
||||
@@ -519,7 +518,7 @@ public enum PowersManager {
|
||||
// else send recycle message to unlock power
|
||||
RecyclePowerMsg recyclePowerMsg = new RecyclePowerMsg(msg.getPowerUsedID());
|
||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, recyclePowerMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
}
|
||||
|
||||
//what the fuck?
|
||||
@@ -529,7 +528,7 @@ public enum PowersManager {
|
||||
// else
|
||||
// msg.setUnknown04(1); // Regular Race, use mana?
|
||||
int tr = msg.getNumTrains();
|
||||
DispatchMessage.dispatchMsgToInterestArea(playerCharacter, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, sendCastToSelf, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(playerCharacter, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, sendCastToSelf, false);
|
||||
|
||||
//Make new msg..
|
||||
PerformActionMsg copyMsg = new PerformActionMsg(msg);
|
||||
@@ -540,7 +539,7 @@ public enum PowersManager {
|
||||
playerCharacter.update();
|
||||
playerCharacter.setSit(false);
|
||||
UpdateStateMsg updateStateMsg = new UpdateStateMsg(playerCharacter);
|
||||
DispatchMessage.dispatchMsgToInterestArea(playerCharacter, updateStateMsg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(playerCharacter, updateStateMsg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
|
||||
}
|
||||
|
||||
@@ -683,8 +682,8 @@ public enum PowersManager {
|
||||
|
||||
msg.setNumTrains(9999);
|
||||
|
||||
DispatchMessage.sendToAllInRange(caster, msg);
|
||||
DispatchMessage.sendToAllInRange(caster, msg);
|
||||
DispatchManager.sendToAllInRange(caster, msg);
|
||||
DispatchManager.sendToAllInRange(caster, msg);
|
||||
|
||||
msg.setNumTrains(tr);
|
||||
|
||||
@@ -751,7 +750,7 @@ public enum PowersManager {
|
||||
performActionMsg.setUnknown04(2);
|
||||
|
||||
dispatch = Dispatch.borrow(playerCharacter, performActionMsg);
|
||||
DispatchMessage.dispatchMsgToInterestArea(playerCharacter, performActionMsg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(playerCharacter, performActionMsg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -992,7 +991,7 @@ public enum PowersManager {
|
||||
PerformActionMsg castMsg = new PerformActionMsg(msg);
|
||||
castMsg.setNumTrains(9999);
|
||||
castMsg.setUnknown04(2);
|
||||
DispatchMessage.dispatchMsgToInterestArea(playerCharacter, castMsg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(playerCharacter, castMsg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
msgCasted = true;
|
||||
}
|
||||
}
|
||||
@@ -1002,7 +1001,7 @@ public enum PowersManager {
|
||||
PerformActionMsg castMsg = new PerformActionMsg(msg);
|
||||
castMsg.setNumTrains(9999);
|
||||
castMsg.setUnknown04(2);
|
||||
DispatchMessage.dispatchMsgToInterestArea(playerCharacter, castMsg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(playerCharacter, castMsg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
msgCasted = true;
|
||||
}
|
||||
|
||||
@@ -1063,7 +1062,7 @@ public enum PowersManager {
|
||||
|
||||
msg.setNumTrains(9999);
|
||||
msg.setUnknown04(2);
|
||||
DispatchMessage.sendToAllInRange(caster, msg);
|
||||
DispatchManager.sendToAllInRange(caster, msg);
|
||||
|
||||
// get target loc
|
||||
Vector3fImmutable targetLoc = msg.getTargetLoc();
|
||||
@@ -1170,7 +1169,7 @@ public enum PowersManager {
|
||||
// TODO echo power use to everyone else
|
||||
msg.setNumTrains(9999);
|
||||
msg.setUnknown04(2);
|
||||
DispatchMessage.sendToAllInRange(caster, msg);
|
||||
DispatchManager.sendToAllInRange(caster, msg);
|
||||
|
||||
}
|
||||
|
||||
@@ -1248,7 +1247,7 @@ public enum PowersManager {
|
||||
RecyclePowerMsg recyclePowerMsg = new RecyclePowerMsg(token);
|
||||
|
||||
Dispatch dispatch = Dispatch.borrow(origin.getPlayerCharacter(), recyclePowerMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
|
||||
}
|
||||
|
||||
@@ -1374,7 +1373,7 @@ public enum PowersManager {
|
||||
PerformActionMsg msg = new PerformActionMsg(pb.getToken(),
|
||||
trains, ac.getObjectType().ordinal(), ac.getObjectUUID(), tarType, tarID, 0,
|
||||
0, 0, 1, 0);
|
||||
DispatchMessage.sendToAllInRange(target, msg);
|
||||
DispatchManager.sendToAllInRange(target, msg);
|
||||
|
||||
|
||||
ConcurrentHashMap<String, JobContainer> timers = ac.getTimers();
|
||||
@@ -1492,7 +1491,7 @@ public enum PowersManager {
|
||||
.getObjectType().ordinal(), ac.getObjectUUID(), target.getObjectType().ordinal(),
|
||||
target.getObjectUUID(), 0, 0, 0, 2, 0);
|
||||
|
||||
DispatchMessage.sendToAllInRange(ac, msg);
|
||||
DispatchManager.sendToAllInRange(ac, msg);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1943,7 +1942,7 @@ public enum PowersManager {
|
||||
|
||||
RecyclePowerMsg recyclePowerMsg = new RecyclePowerMsg(token);
|
||||
Dispatch dispatch = Dispatch.borrow(pc, recyclePowerMsg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
|
||||
}
|
||||
|
||||
@@ -2103,12 +2102,12 @@ public enum PowersManager {
|
||||
case 3:
|
||||
case 4:
|
||||
msg.setUnknown04(2);
|
||||
DispatchMessage.dispatchMsgToInterestArea(playerCharacter, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(playerCharacter, msg, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
break;
|
||||
default:
|
||||
msg.setUnknown04(1);
|
||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, msg);
|
||||
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2126,7 +2125,7 @@ public enum PowersManager {
|
||||
|
||||
ApplyEffectMsg aem = new ApplyEffectMsg(pc, pc, 0, eb.getToken(), 9, pb.getToken(), pb.getName());
|
||||
aem.setUnknown03(type);
|
||||
DispatchMessage.dispatchMsgToInterestArea(pc, aem, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(pc, aem, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
@@ -2147,7 +2146,7 @@ public enum PowersManager {
|
||||
aem.setUnknown03(type);
|
||||
aem.setUnknown05(1);
|
||||
|
||||
DispatchMessage.dispatchMsgToInterestArea(pc, aem, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
DispatchManager.dispatchMsgToInterestArea(pc, aem, DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
@@ -2162,7 +2161,7 @@ public enum PowersManager {
|
||||
switch (type) {
|
||||
case 3:
|
||||
case 4:
|
||||
DispatchMessage.sendToAllInRange(mob, msg);
|
||||
DispatchManager.sendToAllInRange(mob, msg);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -2401,7 +2400,7 @@ public enum PowersManager {
|
||||
if (pam != null) {
|
||||
pam.setNumTrains(9999);
|
||||
pam.setUnknown04(2);
|
||||
DispatchMessage.sendToAllInRange(ac, pam);
|
||||
DispatchManager.sendToAllInRange(ac, pam);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2465,7 +2464,7 @@ public enum PowersManager {
|
||||
PerformActionMsg pam = new PerformActionMsg(pb.getToken(), 9999, ac
|
||||
.getObjectType().ordinal(), ac.getObjectUUID(), target.getObjectType().ordinal(),
|
||||
target.getObjectUUID(), 0, 0, 0, 2, 0);
|
||||
DispatchMessage.sendToAllInRange(ac, pam);
|
||||
DispatchManager.sendToAllInRange(ac, pam);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user