Added preliminary terrain collision detection, added some combat functions, changed CreatureObjects superclass to Tangible Object

Updated engine
Delete all files in odb/creature (creature superclass was changed so db
wipe is needed)
This commit is contained in:
Light2
2013-07-30 21:29:35 +02:00
parent 1cff088aeb
commit 1078331b60
10 changed files with 484 additions and 71 deletions
@@ -94,7 +94,7 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
buffer.putInt(creature.getFactionStatus());
byte[] customizationData = creature.getCustomizationData();
byte[] customizationData = creature.getCustomization();
if(customizationData.length <= 0)
buffer.putShort((short) 0);
@@ -265,6 +265,7 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
buffer.putInt(0);
buffer.putInt(0x2C01);
buffer.putInt(0);
if(creature.getEquipmentList().isEmpty()) {
buffer.putInt(0);
@@ -594,6 +595,79 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
}
public IoBuffer buildHealthDelta(int health) {
CreatureObject creature = (CreatureObject) object;
IoBuffer buffer = bufferPool.allocate(15, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(1);
buffer.putInt(creature.getHamListCounter());
buffer.put((byte) 2);
buffer.putShort((short) 0);
buffer.putInt(health);
int size = buffer.position();
buffer.flip();
buffer = createDelta("CREO", (byte) 6, (short) 1, (short) 0x15, buffer, size + 4);
return buffer;
}
public IoBuffer buildActionDelta(int action) {
CreatureObject creature = (CreatureObject) object;
IoBuffer buffer = bufferPool.allocate(15, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(1);
buffer.putInt(creature.getHamListCounter());
buffer.put((byte) 2);
buffer.putShort((short) 2);
buffer.putInt(action);
int size = buffer.position();
buffer.flip();
buffer = createDelta("CREO", (byte) 6, (short) 1, (short) 0x15, buffer, size + 4);
return buffer;
}
public IoBuffer buildMaxHealthDelta(int health) {
CreatureObject creature = (CreatureObject) object;
IoBuffer buffer = bufferPool.allocate(15, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(1);
buffer.putInt(creature.getHamListCounter());
buffer.put((byte) 2);
buffer.putShort((short) 0);
buffer.putInt(health);
int size = buffer.position();
buffer.flip();
buffer = createDelta("CREO", (byte) 6, (short) 1, (short) 0x16, buffer, size + 4);
return buffer;
}
public IoBuffer buildMaxActionDelta(int action) {
CreatureObject creature = (CreatureObject) object;
IoBuffer buffer = bufferPool.allocate(15, false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(1);
buffer.putInt(creature.getHamListCounter());
buffer.put((byte) 2);
buffer.putShort((short) 2);
buffer.putInt(action);
int size = buffer.position();
buffer.flip();
buffer = createDelta("CREO", (byte) 6, (short) 1, (short) 0x16, buffer, size + 4);
return buffer;
}
@Override
public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) {
// TODO Auto-generated method stub