Better Flare/Avert targeting / Fixed targets resetting on save load
This commit is contained in:
@@ -437,6 +437,8 @@ public abstract class SaveVersion extends SaveFileReader{
|
||||
//entityMapping is null in older save versions, so use the default
|
||||
var mapping = this.entityMapping == null ? EntityMapping.idMap : this.entityMapping;
|
||||
|
||||
Seq<Entityc> entities = new Seq<>();
|
||||
|
||||
int amount = stream.readInt();
|
||||
for(int j = 0; j < amount; j++){
|
||||
readChunk(stream, true, in -> {
|
||||
@@ -449,12 +451,17 @@ public abstract class SaveVersion extends SaveFileReader{
|
||||
int id = in.readInt();
|
||||
|
||||
Entityc entity = (Entityc)mapping[typeid].get();
|
||||
entities.add(entity);
|
||||
EntityGroup.checkNextId(id);
|
||||
entity.id(id);
|
||||
entity.read(Reads.get(in));
|
||||
entity.add();
|
||||
});
|
||||
}
|
||||
|
||||
for(var e : entities){
|
||||
e.afterAllRead();
|
||||
}
|
||||
}
|
||||
|
||||
public void readEntityMapping(DataInput stream) throws IOException{
|
||||
|
||||
@@ -563,13 +563,14 @@ public class TypeIO{
|
||||
ai.targetPos = null;
|
||||
}
|
||||
ai.setupLastPos();
|
||||
ai.readAttackTarget = -1;
|
||||
|
||||
if(hasAttack){
|
||||
byte entityType = read.b();
|
||||
if(entityType == 1){
|
||||
ai.attackTarget = world.build(read.i());
|
||||
}else{
|
||||
ai.attackTarget = Groups.unit.getByID(read.i());
|
||||
ai.attackTarget = Groups.unit.getByID(ai.readAttackTarget = read.i());
|
||||
}
|
||||
}else{
|
||||
ai.attackTarget = null;
|
||||
|
||||
Reference in New Issue
Block a user