group spawn distances added

Force sensitive groups now spawn at a distance to each other in random
group member numbers.
Loot added to FSs
This commit is contained in:
CharonInferar
2014-05-03 16:31:04 +02:00
parent 488e669290
commit 05034b4d83
21 changed files with 332 additions and 70 deletions
+20 -1
View File
@@ -368,7 +368,7 @@ public class SpawnService {
}
public void addDynamicSpawnArea(String dynamicGroup, float x, float z, float radius, String planetName) {
DynamicSpawnGroup dynamicGroupTemplate = dynamicGroupTemplates .get(dynamicGroup);
DynamicSpawnGroup dynamicGroupTemplate = dynamicGroupTemplates.get(dynamicGroup);
Planet planet = core.terrainService.getPlanetByName(planetName);
if(dynamicGroupTemplate == null || planet == null)
return;
@@ -377,6 +377,25 @@ public class SpawnService {
spawnAreas.get(planet).add(dynamicSpawnArea);
core.simulationService.addCollidable(collidableCircle, x, z);
}
public void addDynamicSpawnArea(Vector<String> dynamicGroups, float x, float z, float radius, String planetName) {
Vector<DynamicSpawnGroup> dynamicSpawnGroups = new Vector<DynamicSpawnGroup>();
for (String template : dynamicGroups){
if (dynamicGroupTemplates.get(template)==null){
System.err.println("Dynamic Group template " + template +" not found in spawnservice collection!");
return;
}
dynamicSpawnGroups.add(dynamicGroupTemplates.get(template));
}
Planet planet = core.terrainService.getPlanetByName(planetName);
if(dynamicSpawnGroups == null || dynamicSpawnGroups.size() == 0 || planet == null)
return;
CollidableCircle collidableCircle = new CollidableCircle(new Point3D(x, 0, z), radius, planet);
DynamicSpawnArea dynamicSpawnArea = new DynamicSpawnArea(planet, collidableCircle, dynamicSpawnGroups);
spawnAreas.get(planet).add(dynamicSpawnArea);
core.simulationService.addCollidable(collidableCircle, x, z);
}
public Map<String, MobileTemplate> getMobileTemplates() {
return mobileTemplates;