This commit is contained in:
2025-03-06 18:45:24 -06:00
parent 64d9401089
commit fed9ba4240
7 changed files with 25 additions and 12 deletions
@@ -106,7 +106,7 @@ public enum InterestManager implements Runnable {
origin.sendMsg(moveMsg);
}
public static void reloadCharacter(AbstractCharacter absChar) {
public static void reloadCharacter(AbstractCharacter absChar, boolean fromBox) {
UnloadObjectsMsg uom = new UnloadObjectsMsg();
uom.addObject(absChar);
@@ -132,7 +132,7 @@ public enum InterestManager implements Runnable {
if (cc == null)
continue;
if (pcc.getObjectUUID() == absChar.getObjectUUID())
if (!fromBox && pcc.getObjectUUID() == absChar.getObjectUUID())
continue;
else {
+1 -1
View File
@@ -62,7 +62,7 @@ public class SetAdminRuneCmd extends AbstractDevCmd {
if (worked) {
ChatManager.chatSayInfo(pcSender,
"rune of ID " + runeID + " removed");
InterestManager.reloadCharacter(pcSender);
InterestManager.reloadCharacter(pcSender, false);
} else
throwbackError(pcSender, "Failed to remove the rune of type "
+ runeID);
+1 -1
View File
@@ -47,7 +47,7 @@ public class SetBaseClassCmd extends AbstractDevCmd {
this.setTarget(pc); //for logging
ChatManager.chatSayInfo(pc,
"BaseClass changed to " + classID);
InterestManager.reloadCharacter(pc);
InterestManager.reloadCharacter(pc, false);
}
+1 -1
View File
@@ -57,7 +57,7 @@ public class SetLevelCmd extends AbstractDevCmd {
tar.setLevel((short) level);
this.setTarget(tar); //for logging
ChatManager.chatSayInfo(pc, tar.getFirstName() + " level changed to " + level);
InterestManager.reloadCharacter(tar);
InterestManager.reloadCharacter(tar, false);
}
@Override
@@ -42,7 +42,7 @@ public class SetPromotionClassCmd extends AbstractDevCmd {
pc.setPromotionClass(classID);
ChatManager.chatSayInfo(pc,
"PromotionClass changed to " + classID);
InterestManager.reloadCharacter(pc);
InterestManager.reloadCharacter(pc, false);
this.setTarget(pc); //for logging
+1 -1
View File
@@ -57,7 +57,7 @@ public class SetRuneCmd extends AbstractDevCmd {
if (worked) {
ChatManager.chatSayInfo(pcSender,
"rune of ID " + runeID + " removed");
InterestManager.reloadCharacter(pcSender);
InterestManager.reloadCharacter(pcSender, false);
} else
throwbackError(pcSender, "Failed to remove the rune of type "
+ runeID);
+18 -5
View File
@@ -41,7 +41,6 @@ import engine.server.MBServerStatics;
import engine.server.login.LoginServer;
import engine.server.login.LoginServerMsgHandler;
import engine.server.world.WorldServer;
import engine.util.KeyCloneAudit;
import engine.util.MiscUtils;
import org.joda.time.DateTime;
import org.pmw.tinylog.Logger;
@@ -5202,12 +5201,14 @@ public class PlayerCharacter extends AbstractCharacter {
//PowersManager.applyPower(this, this, Vector3fImmutable.ZERO, 1672601862, 40, false);
if(!this.title.equals(CharacterTitle.PVE)){
this.title = CharacterTitle.PVE;
InterestManager.forceLoad(this);
InterestManager.setObjectDirty(this);
InterestManager.reloadCharacter(this, false);
}
}else {
if (!this.title.equals(CharacterTitle.NONE)) {
this.title = CharacterTitle.NONE;
InterestManager.forceLoad(this);
InterestManager.setObjectDirty(this);
InterestManager.reloadCharacter(this, false);
}
}
}
@@ -5258,10 +5259,22 @@ public class PlayerCharacter extends AbstractCharacter {
valid = false;
}
if(valid) {
for (PlayerCharacter pc : sameMachine)
for (PlayerCharacter pc : sameMachine) {
pc.isBoxed = true;
if (!pc.title.equals(CharacterTitle.PVE)) {
pc.title = CharacterTitle.PVE;
InterestManager.setObjectDirty(pc);
InterestManager.reloadCharacter(pc, true);
pc.setDirtyLoad(true);
}
}
player.isBoxed = false;
if (!player.title.equals(CharacterTitle.NONE)) {
player.title = CharacterTitle.NONE;
InterestManager.setObjectDirty(player);
InterestManager.reloadCharacter(player, true);
player.setDirtyLoad(true);
}
if (player.containsEffect(1672601862)) {
player.removeEffectBySource(EffectSourceType.DeathShroud, 41, false);
}