Browse Source

fix for backstab

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

16
src/engine/gameManager/PowersManager.java

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

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

@ -48,7 +48,7 @@ public class RequestEnterWorldHandler extends AbstractClientMsgHandler { @@ -48,7 +48,7 @@ public class RequestEnterWorldHandler extends AbstractClientMsgHandler {
PlayerCharacter player = origin.getPlayerCharacter();
WorldGrid.RemoveWorldObject(player);
Dispatch dispatch;
if (player == null) {
@ -57,6 +57,11 @@ public class RequestEnterWorldHandler extends AbstractClientMsgHandler { @@ -57,6 +57,11 @@ public class RequestEnterWorldHandler extends AbstractClientMsgHandler {
return true;
}
//if(player.isEnteredWorld()){
// if(player != null) {
// WorldGrid.RemoveWorldObject(player);
// }
//}
player.setEnteredWorld(false);
Account acc = SessionManager.getAccount(origin);
@ -106,9 +111,14 @@ public class RequestEnterWorldHandler extends AbstractClientMsgHandler { @@ -106,9 +111,14 @@ public class RequestEnterWorldHandler extends AbstractClientMsgHandler {
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());
try {
player.setSafeMode();
}catch(Exception e){
Logger.error(e);
}
player.updateLocation();
player.setRegion(AbstractWorldObject.GetRegionByWorldObject(player));
}

Loading…
Cancel
Save