mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-07-15 00:07:39 -04:00
Merge branch 'master' of https://github.com/ProjectSWGCore/NGECore2
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:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user