Class OfficerManagerEvent
java.lang.Object
com.fs.starfarer.api.impl.campaign.events.BaseEventPlugin
com.fs.starfarer.api.impl.campaign.events.OfficerManagerEvent
- All Implemented Interfaces:
CampaignEventListener
,CampaignEventPlugin
,ColonyInteractionListener
,EveryFrameScript
,CallEvent.CallableEvent
public class OfficerManagerEvent
extends BaseEventPlugin
implements CallEvent.CallableEvent, ColonyInteractionListener, EveryFrameScript
- Author:
- Alex Mosolov extends BaseEventPlugin for in-dev savefile compatibility reasons only Copyright 2019 Fractal Softworks, LLC
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static enum
Nested classes/interfaces inherited from class com.fs.starfarer.api.impl.campaign.events.BaseEventPlugin
BaseEventPlugin.MarketFilter
Nested classes/interfaces inherited from interface com.fs.starfarer.api.campaign.CampaignEventListener
CampaignEventListener.FleetDespawnReason
Nested classes/interfaces inherited from interface com.fs.starfarer.api.campaign.events.CampaignEventPlugin
CampaignEventPlugin.CampaignEventCategory, CampaignEventPlugin.PriceUpdatePlugin
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected List<OfficerManagerEvent.AvailableOfficer>
protected List<OfficerManagerEvent.AvailableOfficer>
static boolean
static org.apache.log4j.Logger
protected TimeoutTracker<String>
protected IntervalUtil
protected long
Fields inherited from class com.fs.starfarer.api.impl.campaign.events.BaseEventPlugin
entity, eventTarget, eventType, faction, market, memory, started, startProbability, statModId
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
static void
addEliteSkills
(PersonAPI person, int num, Random random) void
advance
(float amount) Use SectorAPI.getClock() to convert to campaign days.boolean
callEvent
(String ruleId, InteractionDialogAPI dialog, List<Misc.Token> params, Map<String, MemoryAPI> memoryMap) Called by the CallEvent command (called from rules.csv).protected OfficerManagerEvent.AvailableOfficer
createAdmin
(MarketAPI market, Random random) static PersonAPI
createAdmin
(FactionAPI faction, int tier, Random random) static PersonAPI
createMercInternal
(FactionAPI faction, int level, int numElite, boolean allowNonDoctrinePersonality, Random random) protected OfficerManagerEvent.AvailableOfficer
createOfficer
(boolean isMerc, MarketAPI market, Random random) static PersonAPI
createOfficer
(FactionAPI faction, int level) static PersonAPI
createOfficer
(FactionAPI faction, int level, boolean allowNonDoctrinePersonality) static PersonAPI
createOfficer
(FactionAPI faction, int level, OfficerManagerEvent.SkillPickPreference pref, boolean allowNonDoctrinePersonality, CampaignFleetAPI fleet, boolean allowAnyLevel, boolean withEliteSkills, int eliteSkillsNumOverride, Random random) static PersonAPI
createOfficer
(FactionAPI faction, int level, OfficerManagerEvent.SkillPickPreference pref, Random random) static PersonAPI
createOfficerInternal
(FactionAPI faction, int level, boolean allowNonDoctrinePersonality, Random random) getOfficer
(String personId) protected float
getOfficerDuration
(Random random) boolean
isDone()
static String
pickPortraitPreferNonDuplicate
(FactionAPI faction, FullName.Gender gender) static String
pickSkill
(PersonAPI person, List<String> skills, OfficerManagerEvent.SkillPickPreference pref, int numSpec, Random random) void
void
void
reportPlayerClosedMarket
(MarketAPI market) void
reportPlayerMarketTransaction
(PlayerMarketTransaction transaction) void
reportPlayerOpenedMarket
(MarketAPI market) void
boolean
protected void
Methods inherited from class com.fs.starfarer.api.impl.campaign.events.BaseEventPlugin
addFactionNameTokens, addPersonTokens, addTokensToList, allowMultipleOngoingForSameTarget, cleanup, findMatchingMarkets, findNearestMarket, getCurrentImage, getCurrentMessageIcon, getDefaultPriority, getEventCategory, getEventIcon, getEventName, getEventTarget, getEventType, getHighlightColors, getHighlights, getId, getLoggingId, getMemory, getPriceUpdates, getRelatedCommodities, getStageIdForLikely, getStageIdForPossible, getStatModId, getTargetName, getTokenReplacements, getWarningWhenLikelyPriority, getWarningWhenPossiblePriority, increaseRecentUnrest, init, init, isEventStarted, reportBattleFinished, reportBattleOccurred, reportEconomyMonthEnd, reportEconomyTick, reportEncounterLootGenerated, reportFleetDespawned, reportFleetJumped, reportFleetReachedEntity, reportFleetSpawned, reportPlayerActivatedAbility, reportPlayerDeactivatedAbility, reportPlayerDidNotTakeCargo, reportPlayerDumpedCargo, reportPlayerEngagement, reportPlayerReputationChange, reportPlayerReputationChange, reportShownInteractionDialog, setParam, setProbability, setTarget, showAllMessagesIfOngoing, showLatestMessageIfOngoing, startEvent, startEvent, useEventNameAsId
-
Field Details
-
log
public static org.apache.log4j.Logger log -
removeTracker
-
available
-
availableAdmins
-
recentlyChecked
-
seed
protected long seed -
DEBUG
public static boolean DEBUG
-
-
Constructor Details
-
OfficerManagerEvent
public OfficerManagerEvent()
-
-
Method Details
-
reportPlayerClosedMarket
- Specified by:
reportPlayerClosedMarket
in interfaceCampaignEventListener
- Specified by:
reportPlayerClosedMarket
in interfaceColonyInteractionListener
- Overrides:
reportPlayerClosedMarket
in classBaseEventPlugin
-
reportPlayerOpenedMarket
- Specified by:
reportPlayerOpenedMarket
in interfaceCampaignEventListener
- Specified by:
reportPlayerOpenedMarket
in interfaceColonyInteractionListener
- Overrides:
reportPlayerOpenedMarket
in classBaseEventPlugin
-
getOfficerDuration
-
advance
public void advance(float amount) Description copied from interface:EveryFrameScript
Use SectorAPI.getClock() to convert to campaign days.- Specified by:
advance
in interfaceCampaignEventPlugin
- Specified by:
advance
in interfaceEveryFrameScript
- Overrides:
advance
in classBaseEventPlugin
- Parameters:
amount
- seconds elapsed during the last frame.
-
pruneFromRemovedMarkets
public void pruneFromRemovedMarkets() -
addAvailable
-
addAvailableAdmin
-
setEventDataAndAddToMarket
-
removeAvailable
-
pickPortraitPreferNonDuplicate
-
createAdmin
-
createAdmin
-
createOfficer
protected OfficerManagerEvent.AvailableOfficer createOfficer(boolean isMerc, MarketAPI market, Random random) -
createOfficerInternal
public static PersonAPI createOfficerInternal(FactionAPI faction, int level, boolean allowNonDoctrinePersonality, Random random) -
createMercInternal
public static PersonAPI createMercInternal(FactionAPI faction, int level, int numElite, boolean allowNonDoctrinePersonality, Random random) -
createOfficer
-
createOfficer
public static PersonAPI createOfficer(FactionAPI faction, int level, boolean allowNonDoctrinePersonality) -
createOfficer
public static PersonAPI createOfficer(FactionAPI faction, int level, OfficerManagerEvent.SkillPickPreference pref, Random random) -
createOfficer
public static PersonAPI createOfficer(FactionAPI faction, int level, OfficerManagerEvent.SkillPickPreference pref, boolean allowNonDoctrinePersonality, CampaignFleetAPI fleet, boolean allowAnyLevel, boolean withEliteSkills, int eliteSkillsNumOverride, Random random) -
addEliteSkills
-
pickSkill
-
callEvent
public boolean callEvent(String ruleId, InteractionDialogAPI dialog, List<Misc.Token> params, Map<String, MemoryAPI> memoryMap) Description copied from interface:CampaignEventPlugin
Called by the CallEvent command (called from rules.csv).- Specified by:
callEvent
in interfaceCallEvent.CallableEvent
- Specified by:
callEvent
in interfaceCampaignEventPlugin
- Overrides:
callEvent
in classBaseEventPlugin
-
getOfficer
-
getAdmin
-
reportPlayerMarketTransaction
- Specified by:
reportPlayerMarketTransaction
in interfaceCampaignEventListener
- Specified by:
reportPlayerMarketTransaction
in interfaceColonyInteractionListener
- Overrides:
reportPlayerMarketTransaction
in classBaseEventPlugin
-
reportPlayerOpenedMarketAndCargoUpdated
- Specified by:
reportPlayerOpenedMarketAndCargoUpdated
in interfaceCampaignEventListener
- Specified by:
reportPlayerOpenedMarketAndCargoUpdated
in interfaceColonyInteractionListener
- Overrides:
reportPlayerOpenedMarketAndCargoUpdated
in classBaseEventPlugin
-
runWhilePaused
public boolean runWhilePaused()- Specified by:
runWhilePaused
in interfaceEveryFrameScript
- Returns:
- whether advance() should be called while the campaign engine is paused.
-
isDone
public boolean isDone()- Specified by:
isDone
in interfaceCampaignEventPlugin
- Specified by:
isDone
in interfaceEveryFrameScript
- Overrides:
isDone
in classBaseEventPlugin
- Returns:
- true when the script is finished and can be cleaned up by the engine.
-