Browse Source

fix for backstab

lakebane-jobs
FatBoy-DOTC 11 hours ago
parent
commit
d074aa8f1c
  1. 26
      src/engine/gameManager/PowersManager.java
  2. 16
      src/engine/net/client/handlers/RequestEnterWorldHandler.java

26
src/engine/gameManager/PowersManager.java

@ -199,6 +199,10 @@ public enum PowersManager {
return; return;
} }
if(msg.getPowerUsedID() == -1851459567){//backstab
applyPower(pc,pc,pc.loc,-1851459567,msg.getNumTrains(),false);
}
if (usePowerA(msg, origin, sendCastToSelf)) { if (usePowerA(msg, origin, sendCastToSelf)) {
// Cast failed for some reason, reset timer // Cast failed for some reason, reset timer
@ -1979,17 +1983,21 @@ public enum PowersManager {
} }
if(AbstractCharacter.IsAbstractCharacter(awo)) { if(AbstractCharacter.IsAbstractCharacter(awo)) {
boolean immune = false; try {
AbstractCharacter absChar = (AbstractCharacter)awo; boolean immune = false;
for (AbstractEffectModifier mod : ab.getPowerAction().getEffectsBase().getModifiers()) { AbstractCharacter absChar = (AbstractCharacter) awo;
if (absChar.getBonuses() != null){ for (AbstractEffectModifier mod : ab.getPowerAction().getEffectsBase().getModifiers()) {
if(absChar.getBonuses().getBool(ModType.ImmuneTo, mod.sourceType) || absChar.getBonuses().getBool(ModType.NoMod, mod.sourceType)) if (absChar.getBonuses() != null) {
immune = true; if (absChar.getBonuses().getBool(ModType.ImmuneTo, mod.sourceType) || absChar.getBonuses().getBool(ModType.NoMod, mod.sourceType))
immune = true;
}
} }
}
if(immune) if (immune)
return; return;
}catch(Exception e){
}
} }

16
src/engine/net/client/handlers/RequestEnterWorldHandler.java

@ -48,7 +48,7 @@ public class RequestEnterWorldHandler extends AbstractClientMsgHandler {
PlayerCharacter player = origin.getPlayerCharacter(); PlayerCharacter player = origin.getPlayerCharacter();
WorldGrid.RemoveWorldObject(player);
Dispatch dispatch; Dispatch dispatch;
if (player == null) { if (player == null) {
@ -57,6 +57,11 @@ public class RequestEnterWorldHandler extends AbstractClientMsgHandler {
return true; return true;
} }
//if(player.isEnteredWorld()){
// if(player != null) {
// WorldGrid.RemoveWorldObject(player);
// }
//}
player.setEnteredWorld(false); player.setEnteredWorld(false);
Account acc = SessionManager.getAccount(origin); Account acc = SessionManager.getAccount(origin);
@ -106,9 +111,14 @@ public class RequestEnterWorldHandler extends AbstractClientMsgHandler {
player.getTimestamps().put("EnterWorld", System.currentTimeMillis()); player.getTimestamps().put("EnterWorld", System.currentTimeMillis());
if (player.getLoc().equals(Vector3fImmutable.ZERO) || System.currentTimeMillis() > player.getTimeStamp("logout") + (15 * 60 * 1000)) { Long logout = player.getTimeStamp("logout");
if (player.getLoc().equals(Vector3fImmutable.ZERO) || System.currentTimeMillis() > logout + (15 * 60 * 1000)) {
player.stopMovement(player.getBindLoc()); player.stopMovement(player.getBindLoc());
player.setSafeMode(); try {
player.setSafeMode();
}catch(Exception e){
Logger.error(e);
}
player.updateLocation(); player.updateLocation();
player.setRegion(AbstractWorldObject.GetRegionByWorldObject(player)); player.setRegion(AbstractWorldObject.GetRegionByWorldObject(player));
} }

Loading…
Cancel
Save