Redid dueling..

- Dueling now handles multiple duels between multiple players
- Fixed some other minor bugs involving duel requesting/recieving
This commit is contained in:
Iosnowore
2017-04-02 13:20:58 -07:00
parent e742886133
commit 615d81f9fd
3 changed files with 47 additions and 29 deletions
@@ -30,6 +30,7 @@ package resources.objects.creature;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.Locale;
import java.util.function.Predicate;
@@ -57,6 +58,7 @@ import resources.objects.tangible.TangibleObject;
import resources.objects.weapon.WeaponObject;
import resources.persistable.SWGObjectFactory;
import resources.player.Player;
import resources.server_info.SynchronizedList;
import services.group.GroupInviterData;
import utilities.Encoder.StringType;
@@ -83,6 +85,10 @@ public class CreatureObject extends TangibleObject {
private SWGList<Integer> baseAttributes = new SWGList<Integer>(1, 2);
private List<CreatureObject> activeDuels = new SynchronizedList<CreatureObject>();
private List<CreatureObject> sentDuels = new SynchronizedList<CreatureObject>();
public CreatureObject(long objectId) {
super(objectId, BaselineType.CREO);
initBaseAttributes();
@@ -798,6 +804,18 @@ public class CreatureObject extends TangibleObject {
return isEnemy(otherObject) && otherPosture != Posture.INCAPACITATED && otherPosture != Posture.DEAD;
}
public List<CreatureObject> getActiveDuels() {
return activeDuels;
}
public List<CreatureObject> getSentDuels() {
return sentDuels;
}
public boolean isInADuelWithPlayer(CreatureObject otherPlayer) {
return true;
}
@Override
public boolean isEnemy(TangibleObject otherObject) {
boolean tangibleEnemy = super.isEnemy(otherObject);