Fixed combat bug, read extended

Fixed the combat bug, where if an enemy were to be incapacitated and you
were not the attacker, you would remain in combat.
This commit is contained in:
Seefo
2014-03-27 20:57:51 -04:00
parent 570d6d1e14
commit ebe52b49aa
+9 -3
View File
@@ -87,6 +87,8 @@ public class CombatService implements INetworkDispatch {
public void doCombat(final CreatureObject attacker, final TangibleObject target, final WeaponObject weapon, final CombatCommand command, final int actionCounter) {
if(target instanceof CreatureObject) if(((CreatureObject) target).getPosture() == Posture.Incapacitated || ((CreatureObject) target).getPosture() == Posture.Dead) return;
boolean success = true;
if((command.getAttackType() == 0 || command.getAttackType() == 1 || command.getAttackType() == 3) && !attemptCombat(attacker, target))
@@ -181,10 +183,14 @@ public class CombatService implements INetworkDispatch {
if(target instanceof CreatureObject)
{
if(((CreatureObject)(target)).getPosture() == Posture.Incapacitated)
CreatureObject creature = (CreatureObject)target;
if(creature.getPosture() == Posture.Incapacitated || creature.getPosture() == Posture.Dead)
{
attacker.removeDefender(target);
target.removeDefender(attacker);
for (TangibleObject defender : creature.getDefendersList())
{
defender.removeDefender(creature);
creature.removeDefender(defender);
}
}
}
}