Added more content, tweaked AI resources and buffs

- Added invasion-specific buffs
- Added factional handling
- Added AI switches
- Added construction/repairing
- Fixed enemy TANO color when changing status
- Fixed notification baselines to consider GCW-specific circumstances
- Optimized AI algorithmic complexity by eliminating expensive
arithmetic operations
- Fixed reposition state to avoid locations in water
- Considered tower defense buff for NPCs in combat service
- Compacted 3 AI threads into one
- Dynamic allocation of AI resources depending on patrol point index and
same faction AI density
- Added Withdrawal state for more realistic post-battle behaviour
- Positioned all pylons, camps, officers, terminals, barricades,
turrets, towers, cloners in the appropriate coordinates
This commit is contained in:
CharonInferar
2014-08-02 00:06:22 +02:00
parent b1f05c6802
commit 5981efda9f
56 changed files with 5074 additions and 1232 deletions
@@ -21,15 +21,14 @@
******************************************************************************/
package protocol.swg.objectControllerObjects;
import java.nio.BufferUnderflowException;
import java.nio.ByteOrder;
import java.lang.Math;
import org.apache.mina.core.buffer.IoBuffer;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
import protocol.swg.ObjControllerMessage;
public class DataTransform extends ObjControllerObject {
@@ -93,21 +92,23 @@ public class DataTransform extends ObjControllerObject {
}
public void deserialize(IoBuffer buffer) {
objectId = buffer.getLong();
buffer.getInt();
movementStamp = buffer.getInt();
movementIndex = buffer.getInt();
xOrientation = buffer.getFloat();
yOrientation = buffer.getFloat();
zOrientation = buffer.getFloat();
wOrientation = buffer.getFloat();
xPosition = buffer.getFloat();
yPosition = buffer.getFloat();
zPosition = buffer.getFloat();
speed = buffer.getFloat();
try{
objectId = buffer.getLong();
buffer.getInt();
movementStamp = buffer.getInt();
movementIndex = buffer.getInt();
xOrientation = buffer.getFloat();
yOrientation = buffer.getFloat();
zOrientation = buffer.getFloat();
wOrientation = buffer.getFloat();
xPosition = buffer.getFloat();
yPosition = buffer.getFloat();
zPosition = buffer.getFloat();
speed = buffer.getFloat();
} catch (BufferUnderflowException ex){System.err.println("BufferUnderflowException during Datatransform deserialization");}
}
public IoBuffer serialize() {