001package com.fs.starfarer.api.impl.campaign.fleets; 002 003import org.lwjgl.util.vector.Vector2f; 004 005import com.fs.starfarer.api.Global; 006import com.fs.starfarer.api.campaign.CampaignFleetAPI; 007import com.fs.starfarer.api.campaign.econ.MarketAPI; 008import com.fs.starfarer.api.impl.campaign.ids.Conditions; 009import com.fs.starfarer.api.impl.campaign.ids.Factions; 010import com.fs.starfarer.api.impl.campaign.ids.FleetTypes; 011import com.fs.starfarer.api.impl.campaign.ids.MemFlags; 012import com.fs.starfarer.api.impl.campaign.ids.People; 013import com.fs.starfarer.api.impl.campaign.missions.FleetCreatorMission; 014import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetQuality; 015import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetSize; 016import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.OfficerNum; 017import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.OfficerQuality; 018import com.fs.starfarer.api.impl.campaign.missions.hub.MissionFleetAutoDespawn; 019 020public class PersonalFleetOxanaHyder extends PersonalFleetScript { 021 022 public PersonalFleetOxanaHyder() { 023 super(People.HYDER); 024 setMinRespawnDelayDays(10f); 025 setMaxRespawnDelayDays(20f); 026 } 027 028 @Override 029 protected MarketAPI getSourceMarket() { 030 return Global.getSector().getEconomy().getMarket("sindria"); 031 } 032 033 @Override 034 public CampaignFleetAPI spawnFleet() { 035 036 MarketAPI sindria = getSourceMarket(); 037 038 FleetCreatorMission m = new FleetCreatorMission(random); 039 m.beginFleet(); 040 041 Vector2f loc = sindria.getLocationInHyperspace(); 042 043 m.triggerCreateFleet(FleetSize.HUGE, FleetQuality.DEFAULT, Factions.DIKTAT, FleetTypes.PATROL_LARGE, loc); 044 m.triggerSetFleetOfficers( OfficerNum.MORE, OfficerQuality.DEFAULT); 045 m.triggerSetFleetCommander(getPerson()); 046 m.triggerSetFleetFaction(Factions.DIKTAT); 047 m.triggerSetPatrol(); 048 m.triggerSetFleetMemoryValue(MemFlags.MEMORY_KEY_SOURCE_MARKET, sindria); 049 m.triggerFleetSetNoFactionInName(); 050 m.triggerPatrolAllowTransponderOff(); 051 m.triggerFleetSetName("Askonia System Defense Armada"); 052 //m.triggerFleetSetPatrolActionText("patrolling"); 053 m.triggerOrderFleetPatrol(sindria.getStarSystem()); 054 055 CampaignFleetAPI fleet = m.createFleet(); 056 fleet.removeScriptsOfClass(MissionFleetAutoDespawn.class); 057 sindria.getContainingLocation().addEntity(fleet); 058 fleet.setLocation(sindria.getPlanetEntity().getLocation().x, sindria.getPlanetEntity().getLocation().y); 059 fleet.setFacing((float) random.nextFloat() * 360f); 060 061 return fleet; 062 } 063 064 @Override 065 public boolean canSpawnFleetNow() { 066 MarketAPI sindria = Global.getSector().getEconomy().getMarket("sindria"); 067 if (sindria == null || sindria.hasCondition(Conditions.DECIVILIZED)) return false; 068 if (!sindria.getFactionId().equals(Factions.DIKTAT)) return false; 069 return true; 070 } 071 072 @Override 073 public boolean shouldScriptBeRemoved() { 074 return false; 075 } 076 077} 078 079 080 081