PVE flag
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user