Added expertise, added AoE/Cone combat, added some commando expertise boxes as an example for expertise scripts

This commit is contained in:
Light2
2013-08-28 17:56:35 +02:00
parent 6e9031d4d2
commit cfa5ea5a43
25 changed files with 1030 additions and 16 deletions
@@ -793,9 +793,80 @@ public class CreatureMessageBuilder extends ObjectMessageBuilder {
return buffer;
}
public IoBuffer buildAddSkillDelta(String name) {
CreatureObject creature = (CreatureObject) object;
IoBuffer buffer = bufferPool.allocate(11 + name.length(), false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(1);
buffer.putInt(creature.getSkillsUpdateCounter());
buffer.put((byte) 1);
buffer.put(getAsciiString(name));
int size = buffer.position();
buffer.flip();
buffer = createDelta("CREO", (byte) 1, (short) 1, (short) 3, buffer, size + 4);
return buffer;
}
public IoBuffer buildRemoveSkillDelta(String name) {
CreatureObject creature = (CreatureObject) object;
IoBuffer buffer = bufferPool.allocate(11 + name.length(), false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(1);
buffer.putInt(creature.getSkillsUpdateCounter());
buffer.put((byte) 0);
buffer.put(getAsciiString(name));
int size = buffer.position();
buffer.flip();
buffer = createDelta("CREO", (byte) 1, (short) 1, (short) 3, buffer, size + 4);
return buffer;
}
public IoBuffer buildAddAbilityDelta(String name) {
CreatureObject creature = (CreatureObject) object;
IoBuffer buffer = bufferPool.allocate(15 + name.length(), false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(1);
buffer.putInt(creature.getAbilitiesUpdateCounter());
buffer.put((byte) 0);
buffer.put(getAsciiString(name));
buffer.putInt(1);
int size = buffer.position();
buffer.flip();
buffer = createDelta("CREO", (byte) 4, (short) 1, (short) 0x0E, buffer, size + 4);
return buffer;
}
public IoBuffer buildRemoveAbilityDelta(String name) {
CreatureObject creature = (CreatureObject) object;
IoBuffer buffer = bufferPool.allocate(15 + name.length(), false).order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(1);
buffer.putInt(creature.getAbilitiesUpdateCounter());
buffer.put((byte) 1);
buffer.put(getAsciiString(name));
buffer.putInt(1);
int size = buffer.position();
buffer.flip();
buffer = createDelta("CREO", (byte) 4, (short) 1, (short) 0x0E, buffer, size + 4);
return buffer;
}
@Override
public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) {