diff --git a/src/resources/objects/creature/CreatureMessageBuilder.java b/src/resources/objects/creature/CreatureMessageBuilder.java index 33367160..80bd3f58 100644 --- a/src/resources/objects/creature/CreatureMessageBuilder.java +++ b/src/resources/objects/creature/CreatureMessageBuilder.java @@ -138,10 +138,10 @@ public class CreatureMessageBuilder extends TangibleMessageBuilder { buffer.putLong(creature.getOwnerId()); - float height = creature.getHeight(); + //float height = creature.getHeight(); //if (height < 0.7 || height > 1.5) // height = 1; - buffer.putFloat(height); + buffer.putFloat(creature.getHeight()); buffer.putInt(0); // battle fatigue buffer.putLong(creature.getStateBitmask()); int size = buffer.position(); @@ -150,8 +150,6 @@ public class CreatureMessageBuilder extends TangibleMessageBuilder { buffer.flip(); buffer = createBaseline("CREO", (byte) 3, buffer, size); - tools.CharonPacketUtils.printAnalysis(buffer, "CREO 3"); - return buffer; } diff --git a/src/resources/objects/creature/CreatureObject.java b/src/resources/objects/creature/CreatureObject.java index 332d1731..f0cb1bdc 100644 --- a/src/resources/objects/creature/CreatureObject.java +++ b/src/resources/objects/creature/CreatureObject.java @@ -24,6 +24,7 @@ package resources.objects.creature; import java.io.Serializable; import java.lang.System; import java.util.ArrayList; +import java.util.BitSet; import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -55,6 +56,7 @@ import resources.objects.ObjectMessageBuilder; import resources.objects.SWGList; import resources.objects.SWGMap; import engine.resources.common.CRC; +import engine.resources.objects.Baseline; import engine.resources.objects.SWGObject; import engine.resources.scene.Planet; import engine.resources.scene.Point3D; @@ -72,7 +74,7 @@ public class CreatureObject extends TangibleObject implements Serializable { // CREO 1 private int bankCredits = 0; private int cashCredits = 0; - private List skills; + private SWGList skills; @NotPersistent private transient int skillsUpdateCounter = 0; @@ -192,7 +194,7 @@ public class CreatureObject extends TangibleObject implements Serializable { super(objectID, planet, position, orientation, Template); messageBuilder = new CreatureMessageBuilder(this); loadTemplateData(); - skills = new ArrayList(); + skills = new SWGList(); skillMods = new SWGMap(this, 4, 3, true); abilities = new SWGMap(this, 4, 14, true); missionCriticalObjects = new SWGMap(this, 4, 13, false); @@ -235,7 +237,38 @@ public class CreatureObject extends TangibleObject implements Serializable { setTurnRadius((float) getTemplateData().getAttribute("turnRate"));*/ } + + /*@Override + public Baseline getBaseline1() { + Baseline baseline = super.getBaseline1(); + baseline.put("bankCredits", 0); + baseline.put("cashCredits", 0); + + // HAM base list stuff + baseline.put("baseHAM", 6); // list size + baseline.put("unk1", 0); // udpate count? + baseline.put("health", 1000); + baseline.put("spacer1", 0); + baseline.put("action", 300); + baseline.put("spacer2", 0); + baseline.put("unk2", 0x2C01); + baseline.put("unk3", 0); + + baseline.put("skills", new SWGList()); + return baseline; + } + @Override + public Baseline getBaseline3() { + Baseline baseline = super.getBaseline3(); + baseline.put("posture", (byte) 0); + baseline.put("creo3unk1", (byte) 0); + baseline.put("ownerId", (long) 0); + baseline.put("height", (float) 1.3); + baseline.put("battleFatigue", 0); + baseline.put("stateBitmask", new BitSet()); + return baseline; + }*/ public int getBankCredits() { synchronized(objectMutex) { return bankCredits; @@ -299,7 +332,7 @@ public class CreatureObject extends TangibleObject implements Serializable { } } - public List getSkills() { + public SWGList getSkills() { return skills; }