001package com.fs.starfarer.api.util; 002 003import com.fs.starfarer.api.Global; 004import com.fs.starfarer.api.campaign.econ.MarketAPI; 005import com.fs.starfarer.api.characters.MutableCharacterStatsAPI; 006import com.fs.starfarer.api.impl.campaign.econ.impl.PopulationAndInfrastructure; 007 008public class OutpostStats { 009 public int outposts; 010 public int adminOutposts; 011 public int admins; 012 public int aiCoreOutposts; 013 public int maxOutposts; 014 public int maxAdmin; 015 public int penalty; 016 017 public static OutpostStats get() { 018 OutpostStats result = new OutpostStats(); 019 020 MutableCharacterStatsAPI stats = Global.getSector().getCharacterData().getPerson().getStats(); 021 022 for (MarketAPI market : Global.getSector().getEconomy().getMarketsCopy()) { 023 if (!market.isPlayerOwned()) continue; 024 025 if (market.getAdmin().isPlayer() || market.getAdmin().isDefault()) { 026 result.outposts++; 027 } else if (!market.getAdmin().isAICore()) { 028 result.adminOutposts++; 029 } 030 if (market.getAdmin().isAICore()) { 031 result.aiCoreOutposts++; 032 } 033 } 034 035 result.maxOutposts = stats.getOutpostNumber().getModifiedInt(); 036 result.maxAdmin = stats.getAdminNumber().getModifiedInt(); 037 038 result.penalty = PopulationAndInfrastructure.getMismanagementPenalty(); 039 result.admins = Global.getSector().getCharacterData().getAdmins().size(); 040 041 return result; 042 } 043} 044