Handler created for SendSummonsMsg

This commit is contained in:
2024-03-29 07:36:33 -04:00
parent 8997701d8a
commit f0ac342b1f
8 changed files with 105 additions and 64 deletions
+2 -48
View File
@@ -1240,53 +1240,7 @@ public enum PowersManager {
return false;
}
public static void summon(SendSummonsRequestMsg msg, ClientConnection origin) {
PlayerCharacter pc = SessionManager.getPlayerCharacter(
origin);
if (pc == null)
return;
PlayerCharacter target = SessionManager
.getPlayerCharacterByLowerCaseName(msg.getTargetName());
if (target == null || target.equals(pc) || target.isCombat()) {
if (target == null) // Player not found. Send not found message
ChatManager.chatInfoError(pc,
"Cannot find that player to summon.");
else if (target.isCombat())
ChatManager.chatInfoError(pc,
"Cannot summon player in combat.");
// else trying to summon self, just fail
// recycle summon
sendRecyclePower(msg.getPowerToken(), origin);
// TODO: client already subtracted 200 mana.. need to correct it
// end cast
PerformActionMsg pam = new PerformActionMsg(msg.getPowerToken(),
msg.getTrains(), msg.getSourceType(), msg.getSourceID(), 0,
0, 0f, 0f, 0f, 1, 0);
sendPowerMsg(pc, 2, pam);
return;
}
if (ConfigManager.MB_RULESET.getValue() == "LORE") {
if (pc.guild.getGuildType().equals(target.guild.getGuildType()) == false) {
ChatManager.chatInfoError(pc,
"Cannot summon player outside your charter.");
return;
}
}
PerformActionMsg pam = new PerformActionMsg(msg.getPowerToken(), msg
.getTrains(), msg.getSourceType(), msg.getSourceID(), target
.getObjectType().ordinal(), target.getObjectUUID(), 0f, 0f, 0f, 1, 0);
// Client removes 200 mana on summon use.. so don't send message to self
target.addSummoner(pc.getObjectUUID(), System.currentTimeMillis() + MBServerStatics.FOURTYFIVE_SECONDS);
usePower(pam, origin, false);
}
public static void recvSummon(RecvSummonsRequestMsg msg, ClientConnection origin) {
public static void recvSummon(RecvSummonsMsg msg, ClientConnection origin) {
PlayerCharacter pc = SessionManager.getPlayerCharacter(origin);
if (pc == null)
return;
@@ -1381,7 +1335,7 @@ public enum PowersManager {
}
}
private static void sendRecyclePower(int token, ClientConnection origin) {
public static void sendRecyclePower(int token, ClientConnection origin) {
RecyclePowerMsg recyclePowerMsg = new RecyclePowerMsg(token);
Dispatch dispatch = Dispatch.borrow(origin.getPlayerCharacter(), recyclePowerMsg);