From 231a4764418e4d263bde553ff3624d4db35420d4 Mon Sep 17 00:00:00 2001 From: Treeku Date: Sat, 16 Aug 2014 23:02:01 +0100 Subject: [PATCH] Fixed some merge issues with creature refactor. --- src/protocol/swg/LoginClusterStatus.java | 3 --- .../objectControllerObjects/ShowLootBox.java | 2 -- .../objects/creature/CreatureObject.java | 19 ++++++++++++++----- src/services/AdminService.java | 4 ++-- src/services/BuffService.java | 3 +++ src/services/ai/AIActor.java | 8 ++++---- src/services/ai/states/TurretAttackState.java | 2 +- src/services/combat/CombatService.java | 8 ++++---- src/services/command/CommandService.java | 4 +--- src/services/pet/PetService.java | 10 +++++----- 10 files changed, 34 insertions(+), 29 deletions(-) diff --git a/src/protocol/swg/LoginClusterStatus.java b/src/protocol/swg/LoginClusterStatus.java index 05e0a0c0..d844bfb1 100644 --- a/src/protocol/swg/LoginClusterStatus.java +++ b/src/protocol/swg/LoginClusterStatus.java @@ -22,9 +22,6 @@ package protocol.swg; import java.nio.ByteOrder; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; import java.util.TimeZone; import main.NGECore; diff --git a/src/protocol/swg/objectControllerObjects/ShowLootBox.java b/src/protocol/swg/objectControllerObjects/ShowLootBox.java index dc9fde15..1b8b5b3f 100644 --- a/src/protocol/swg/objectControllerObjects/ShowLootBox.java +++ b/src/protocol/swg/objectControllerObjects/ShowLootBox.java @@ -23,11 +23,9 @@ package protocol.swg.objectControllerObjects; import java.nio.ByteOrder; import java.util.ArrayList; -import java.util.Vector; import org.apache.mina.core.buffer.IoBuffer; -import engine.resources.objects.SWGObject; import protocol.swg.ObjControllerMessage; public class ShowLootBox extends ObjControllerObject { diff --git a/src/resources/objects/creature/CreatureObject.java b/src/resources/objects/creature/CreatureObject.java index f20ba8cd..2667a141 100644 --- a/src/resources/objects/creature/CreatureObject.java +++ b/src/resources/objects/creature/CreatureObject.java @@ -1384,6 +1384,20 @@ public class CreatureObject extends TangibleObject implements IPersistent { return adder.intValue(); } + public CreatureObject getCalledPet() { + if (getPlayerObject() == null) { + return null; + } + + return (CreatureObject) NGECore.getInstance().objectService.getObject(getPlayerObject().getPet()); + } + + public void setCalledPet(CreatureObject calledPet) { + if (getPlayerObject() != null) { + getPlayerObject().setPet((calledPet == null) ? 0L : calledPet.getObjectID()); + } + } + public void sendSystemMessage(String message, byte displayType) { sendSystemMessage(message, new OutOfBand(), displayType); } @@ -1454,11 +1468,6 @@ public class CreatureObject extends TangibleObject implements IPersistent { } } - // PetId can be got from PlayerObject. Also is a duplicate of getCompanion(). - @Deprecated public CreatureObject getCalledPet() { return ((getPlayerObject() == null) ? null : (CreatureObject) NGECore.getInstance().objectService.getObject(getPlayerObject().getPet())); } - - @Deprecated public void setCalledPet(CreatureObject calledPet) { } - @Deprecated public void playMusicSelf(String sndFile, long targetId, int repetitions, boolean flag) { playMusic(sndFile, targetId, repetitions, flag); } @Deprecated public void setXpBarValue(int xpBarValue) { setDisplayXp(xpBarValue); } diff --git a/src/services/AdminService.java b/src/services/AdminService.java index eef276f7..79462bb8 100644 --- a/src/services/AdminService.java +++ b/src/services/AdminService.java @@ -44,7 +44,7 @@ public class AdminService implements INetworkDispatch { PreparedStatement preparedStatement; try { - preparedStatement = NGECore.getInstance().getDatabase1().preparedStatement("SELECT * FROM accounts WHERE id=" + id + ""); + preparedStatement = core.getDatabase1().preparedStatement("SELECT * FROM accounts WHERE id=" + id + ""); ResultSet resultSet = preparedStatement.executeQuery(); if(resultSet.next()) accessLevel = resultSet.getString("accessLevel"); @@ -60,7 +60,7 @@ public class AdminService implements INetworkDispatch { PreparedStatement preparedStatement; try { - preparedStatement = NGECore.getInstance().getDatabase1().preparedStatement("SELECT * FROM accounts WHERE id=" + id + ""); + preparedStatement = core.getDatabase1().preparedStatement("SELECT * FROM accounts WHERE id=" + id + ""); ResultSet resultSet = preparedStatement.executeQuery(); if(resultSet.next()) accountName = resultSet.getString("user"); diff --git a/src/services/BuffService.java b/src/services/BuffService.java index 2cf98992..b03adf00 100644 --- a/src/services/BuffService.java +++ b/src/services/BuffService.java @@ -113,6 +113,7 @@ public class BuffService implements INetworkDispatch { } // Here the necessary checks must be placed to prevent buffs from the same buff group (e.g. Buff D) being stacked! + // ^ These checks are already performed in doAddBuff, unless they were removed. if(buff.isGroupBuff()) { addGroupBuff(buffer, buffName, buffer); @@ -134,6 +135,8 @@ public class BuffService implements INetworkDispatch { //TODO fix this -- !! this is wrong - I can buff from 5,5 in cantina someone sitting at 20,20 in the universe/planet !!! - accross the galaxy/planet //cause get position is relative to creature system of coordinates - when one's outside and other inside //if you must use getPosition() check for isInCell first for both or something like that + // ^The above bug should be fixed in command service. The checks below shouldn't really even be in this service. + if (target.getPosition().getDistance(buffer.getPosition()) > 20) { return null; } diff --git a/src/services/ai/AIActor.java b/src/services/ai/AIActor.java index 66ea37dc..9389bb17 100644 --- a/src/services/ai/AIActor.java +++ b/src/services/ai/AIActor.java @@ -162,8 +162,8 @@ public class AIActor { if (obj instanceof CreatureObject){ CreatureObject addedObject = (CreatureObject) obj; - if (NGECore.getInstance().objectService.getObject(addedObject.getPlayerObject().getPet())!=null){ - CreatureObject calledPet = (CreatureObject) NGECore.getInstance().objectService.getObject(addedObject.getPlayerObject().getPet()); + if (addedObject.getCalledPet()!=null){ + CreatureObject calledPet = addedObject.getCalledPet(); if (calledPet.getPosture() != 13 && calledPet.getPosture() != 14){ addDefender(calledPet); } @@ -210,8 +210,8 @@ public class AIActor { if(new Random().nextFloat() <= 0.5 || creature.isInCombat()) { if (obj instanceof CreatureObject && NGECore.getInstance().factionService.isFactionEnemy((TangibleObject)creature, (CreatureObject)obj)){ CreatureObject addedObject = (CreatureObject) obj; - if (NGECore.getInstance().objectService.getObject(addedObject.getPlayerObject().getPet())!=null){ - CreatureObject calledPet = (CreatureObject) NGECore.getInstance().objectService.getObject(addedObject.getPlayerObject().getPet());; + if (addedObject.getCalledPet()!=null){ + CreatureObject calledPet = addedObject.getCalledPet(); if (NGECore.getInstance().aiService.distanceSquared2D(creature.getWorldPosition(), obj.getWorldPosition())