public void Refresh() { string plotid; int shipcap, shipmax, shipready; bool isbuilding, canactivate; LuaCommands.GetBuildingInfo(BuildingId, out plotid, out canactivate, out shipcap, out shipready, out shipmax, out isbuilding); Maximum = shipcap; Pending = shipready; Pickup = shipmax; }
public Building(int id) { Id = id; Type = GetBuildingTypeUsingId(Id); Level = GetBuildingUpgradeLevel(Id); Plot = GetBuildingPlotSize(Type); HasFollowerWorking = GarrisonManager.BuildingIdsWithFollowerWorking.Contains(Id); WorkOrderType = WorkOrder.GetWorkorderType(Type); if (WorkOrderType != WorkOrderType.None) { WorkOrderObjectEntryId = WorkOrder.WorkOrderPickupEntryIds[WorkOrderType]; WorkOrderObjectName = WorkOrder.WorkOrderPickupNames[WorkOrderType]; if (WorkOrderType == WorkOrderType.WarMillDwarvenBunker && Player.IsAlliance) { WorkOrderObjectName = WorkOrder.WorkOrderPickupNames[WorkOrderType.DwarvenBunker]; } } else { WorkOrderObjectEntryId = -1; WorkOrderObjectName = String.Empty; } WorkOrderNpcEntryId = WorkOrder.GetWorkOrderNpcEntryId(Type, Player.IsAlliance); if (GarrisonManager.BuildingIDs.Contains(Id)) { string plotid; bool canActivate, isBuilding; int shipTotal, shipCap, shipReady; LuaCommands.GetBuildingInfo(id, out plotid, out canActivate, out shipCap, out shipReady, out shipTotal, out isBuilding); if (WorkOrderType != WorkOrderType.None) { _workorder = new WorkOrder(Id, Type, WorkOrderType, shipCap, WorkOrder.GetWorkOrderItemAndQuanityRequired(WorkOrderType), shipReady, shipTotal); } PlotId = plotid.ToInt32(); CanActivate = canActivate; IsBuilding = isBuilding; SafeMovementPoint = MovementCache.GetBuildingSafeMovementPoint(PlotId); EntranceMovementPoint = MovementCache.GetBuildingEntranceMovementPoint(PlotId); } else if (Type == BuildingType.HerbGarden || Type == BuildingType.Mines) {//if not completed first quest than we must insert temp info. PlotId = Type == BuildingType.HerbGarden ? 63 : 59; SafeMovementPoint = MovementCache.GetBuildingSafeMovementPoint(PlotId); EntranceMovementPoint = MovementCache.GetBuildingEntranceMovementPoint(PlotId); _workorder = new WorkOrder(Id, Type, WorkOrderType, 0, WorkOrder.GetWorkOrderItemAndQuanityRequired(WorkOrderType)); } SpecialMovementPoints = MovementCache.GetSpecialMovementPoints(Type, PlotId, Level, Player.IsAlliance); int firstquestID = GetBuildingFirstQuestId(Type, Player.IsAlliance); if (firstquestID > 0) { FirstQuestId = Convert.ToUInt32(firstquestID); FirstQuestCompleted = LuaCommands.IsQuestFlaggedCompleted(FirstQuestId.ToString()); if (Type == BuildingType.TradingPost) { FirstQuestNpcId = WorkOrderNpcEntryId; } else { FirstQuestNpcId = GetBuildingFirstQuestNpcId(Type, Player.IsAlliance); } } else { FirstQuestId = 0; FirstQuestNpcId = 0; FirstQuestCompleted = true; } }