forked from MagicBane/Server
switch for target type in attack message handler
This commit is contained in:
@@ -49,20 +49,21 @@ public class AttackCmdMsgHandler extends AbstractClientMsgHandler {
|
|||||||
|
|
||||||
targetType = Enum.GameObjectType.values()[msg.getTargetType()];
|
targetType = Enum.GameObjectType.values()[msg.getTargetType()];
|
||||||
|
|
||||||
if (msg.getTargetType() == Enum.GameObjectType.Mob.ordinal()) {
|
switch(targetType){
|
||||||
target = Mob.getMob(msg.getTargetID());
|
case Mob:
|
||||||
} else if (msg.getTargetType() == Enum.GameObjectType.Building.ordinal()) {
|
target = Mob.getMob(msg.getTargetID());
|
||||||
target = BuildingManager.getBuilding(msg.getTargetID());
|
break;
|
||||||
Building targetBuilding = (Building) target;
|
case PlayerCharacter:
|
||||||
if (!targetBuilding.isVulnerable() || targetBuilding.getRank() < 0) {
|
target = PlayerCharacter.getPlayerCharacter(msg.getTargetID());
|
||||||
playerCharacter.setCombatTarget(null);
|
break;
|
||||||
return true;
|
case Building:
|
||||||
}
|
target = BuildingManager.getBuilding(msg.getTargetID());
|
||||||
} else if(msg.getTargetType() == Enum.GameObjectType.PlayerCharacter.ordinal()){
|
Building targetBuilding = (Building) target;
|
||||||
target = PlayerCharacter.getPlayerCharacter(msg.getTargetID());
|
if (!targetBuilding.isVulnerable() || targetBuilding.getRank() < 0)
|
||||||
} else{
|
return true;// cannot attack destroyed building or protected building
|
||||||
playerCharacter.setCombatTarget(null);
|
break;
|
||||||
return true; //cannot attack other things
|
default:
|
||||||
|
return true;//cannot attack anything other than the 3 above
|
||||||
}
|
}
|
||||||
|
|
||||||
if(target == null) {
|
if(target == null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user