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