Conflicts:
	.gitignore
	src/main/NGECore.java
	src/resources/objects/creature/CreatureObject.java
	src/resources/objects/mission/MissionObject.java
	src/resources/objects/tangible/TangibleObject.java
	src/services/chat/Mail.java
	src/services/mission/MissionObjective.java
	src/services/object/ObjectService.java
	src/services/playercities/PlayerCity.java
This commit is contained in:
Light2
2014-05-01 21:08:20 +02:00
379 changed files with 5722 additions and 1273 deletions
+42 -23
View File
@@ -116,8 +116,6 @@ import resources.objects.resource.GalacticResource;
import resources.objects.resource.ResourceContainerObject;
import resources.objects.resource.ResourceRoot;
import resources.objects.staticobject.StaticObject;
import resources.objects.tangible.Harvester_Deed;
import resources.objects.tangible.Player_House_Deed;
import resources.objects.tangible.TangibleObject;
import resources.objects.tool.SurveyTool;
import resources.objects.waypoint.WaypointObject;
@@ -220,7 +218,9 @@ public class ObjectService implements INetworkDispatch {
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
boolean isSnapshot = false;
if(objectID == 0)
objectID = generateObjectID();
else
@@ -238,15 +238,7 @@ public class ObjectService implements INetworkDispatch {
object = new SurveyTool(objectID, planet, Template, position, orientation);
} else if(Template.startsWith("object/tangible/deed/harvester_deed") || Template.startsWith("object/tangible/deed/generator_deed")) {
object = new Harvester_Deed(objectID, planet, Template, position, orientation);
} else if(Template.startsWith("object/tangible/deed/player_house_deed") || Template.startsWith("object/tangible/deed/guild_deed") || Template.startsWith("object/tangible/deed/city_deed") || Template.startsWith("object/tangible/tcg/series3/shared_structure_deed_sith_meditation_room_deed.iff") || Template.startsWith("object/tangible/tcg/series5/shared_structure_deed_player_house_atat.iff") || Template.startsWith("object/tangible/tcg/series5/shared_structure_deed_player_house_hangar.iff") || Template.startsWith("object/tangible/tcg/series3/shared_structure_deed_jedi_meditation_room_deed.iff") || Template.startsWith("object/tangible/saga_system/rewards/shared_structure_deed_player_house_sandcrawler.iff")) {
object = new Player_House_Deed(objectID, planet, Template, position, orientation);
}
}
// else if(Template.startsWith("object/tangible/container/drum/shared_treasure_drum.iff")) {
//
// object = new CreatureObject(objectID, planet, position, orientation, Template);
@@ -343,17 +335,8 @@ public class ObjectService implements INetworkDispatch {
object.setAttachment("customServerTemplate", customServerTemplate);
object.setisInSnapshot(isSnapshot);
if(!core.getObjectIdODB().contains(objectID)) {
if(!core.getObjectIdODB().contains(objectID))
core.getObjectIdODB().put(objectID, new ObjectId(objectID));
}
if(loadServerTemplate)
loadServerTemplate(object);
else {
final SWGObject pointer = object;
loadServerTemplateTasks.add(() -> loadServerTemplate(pointer));
}
objectList.put(objectID, object);
// Set Options - easier to set them across the board here
// because we'll be spawning them despite most of them being unscripted.
@@ -389,6 +372,15 @@ public class ObjectService implements INetworkDispatch {
}
}
if(loadServerTemplate)
loadServerTemplate(object);
else {
final SWGObject pointer = object;
loadServerTemplateTasks.add(() -> loadServerTemplate(pointer));
}
objectList.put(objectID, object);
return object;
}
@@ -630,11 +622,31 @@ public class ObjectService implements INetworkDispatch {
}
public long getDOId(String planet, String template, int type, long containerId, int cellNumber, float x1, float y, float z1) {
SWGObject container = getObject(containerId);
float x = ((container == null) ? x1 : container.getPosition().x + x1);
float z = ((container == null) ? z1 : container.getPosition().z + z1);
String key = "" + CRC.StringtoCRC(planet) + CRC.StringtoCRC(template) + type + containerId + cellNumber + x + y + z;
long objectId = 0;
if (core.getDuplicateIdODB().contains(key)) {
objectId = ((DuplicateId) core.getDuplicateIdODB().get(key)).getObjectId();
} else {
objectId = generateObjectID();
core.getDuplicateIdODB().put(key, new DuplicateId(key, objectId));
}
return objectId;
}
public void useObject(CreatureObject creature, SWGObject object) {
if (creature == null || object == null) {
return;
}
creature.setUseTarget(object);
int reuse_time;
try {
@@ -884,6 +896,10 @@ public class ObjectService implements INetworkDispatch {
if(!core.getConfig().getString("MOTD").equals(""))
creature.sendSystemMessage(core.getConfig().getString("MOTD"), (byte) 2);
BountyListItem bounty = (BountyListItem) core.getBountiesODB().get(creature.getObjectId());
if (bounty != null)
core.missionService.getBountyList().add(bounty);
core.playerService.postZoneIn(creature);
}
@@ -1068,11 +1084,14 @@ public class ObjectService implements INetworkDispatch {
if (duplicate.containsKey(containerId)) {
containerId = duplicate.get(containerId);
}
String planetName = planet.getName();
// TODO needs to a way to work for mustafar and kashyyyk which both have instances
if (objectId != 0 && getObject(objectId) != null && (planetName.contains("dungeon") || planetName.contains("adventure"))) {
SWGObject container = getObject(containerId);
int x = ((int) (px + ((container == null) ? x1 : container.getPosition().x)));
int z = ((int) (pz + ((container == null) ? z1 : container.getPosition().z)));
float x = (px + ((container == null) ? x1 : container.getPosition().x));
float z = (pz + ((container == null) ? z1 : container.getPosition().z));
String key = "" + CRC.StringtoCRC(planet.getName()) + CRC.StringtoCRC(template) + type + containerId + cellIndex + x + py + z;
long newObjectId = 0;