mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-10-01 16:12:53 -04:00
MountService.canMount() now accounts for passenger capacity
This commit is contained in:
@@ -36,6 +36,8 @@ import resources.datatables.StateStatus;
|
||||
import resources.objects.building.BuildingObject;
|
||||
import resources.objects.creature.CreatureObject;
|
||||
import resources.objects.player.PlayerObject;
|
||||
import engine.clientdata.ClientFileManager;
|
||||
import engine.clientdata.visitors.DatatableVisitor;
|
||||
import engine.resources.container.Traverser;
|
||||
import engine.resources.objects.SWGObject;
|
||||
import engine.resources.service.INetworkDispatch;
|
||||
@@ -177,6 +179,8 @@ public class MountService implements INetworkDispatch {
|
||||
return;
|
||||
}
|
||||
|
||||
mount.setAttachment("pcdAppearanceFilename", pcd.getTemplateData().getAttribute("appearanceFilename"));
|
||||
|
||||
mount.setFaction(actor.getFaction());
|
||||
mount.setFactionStatus(actor.getFactionStatus());
|
||||
|
||||
@@ -582,6 +586,22 @@ public class MountService implements INetworkDispatch {
|
||||
return false;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
DatatableVisitor visitor = ClientFileManager.loadFile("datatables/mount/saddle_appearance_map.iff", DatatableVisitor.class);
|
||||
for(int i = 0; i < visitor.getRowCount(); i++)
|
||||
{
|
||||
if(visitor.getObject(i, 2).equals(mount.getAttachment("pcdAppearanceFilename"))) // saddle_appearance_name
|
||||
{
|
||||
if(passengers < (int) visitor.getObject(i, 1)) return true; // saddle_capacity
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e) { e.printStackTrace(); }
|
||||
|
||||
if(passengers > 0) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user