public uint Unknown3 { get; set; } //FF FF FF FF public override void Execute(Level level) { GameObject go = level.GameObjectManager.GetGameObjectByID(BuildingId); if(Count > 0) { Building b = (Building)go; UnitProductionComponent c = b.GetUnitProductionComponent(); CombatItemData cid = (CombatItemData)ObjectManager.DataTables.GetDataById(UnitType); do { if (!c.CanAddUnitToQueue(cid)) break; ResourceData trainingResource = cid.GetTrainingResource(); ClientAvatar ca = level.GetHomeOwnerAvatar(); int trainingCost = cid.GetTrainingCost(ca.GetUnitUpgradeLevel(cid)); if (!ca.HasEnoughResources(trainingResource, trainingCost)) break; ca.SetResourceCount(trainingResource, ca.GetResourceCount(trainingResource) - trainingCost); c.AddUnitToProductionQueue(cid); Count--; } while (Count > 0); } }