001package com.fs.starfarer.api.impl.campaign.intel.events; 002 003import java.util.Random; 004 005import java.awt.Color; 006 007import com.fs.starfarer.api.campaign.CampaignFleetAPI; 008import com.fs.starfarer.api.campaign.StarSystemAPI; 009import com.fs.starfarer.api.campaign.comm.IntelInfoPlugin.ListInfoMode; 010import com.fs.starfarer.api.impl.campaign.intel.events.BaseEventIntel.EventStageData; 011import com.fs.starfarer.api.impl.campaign.intel.events.HostileActivityEventIntel.HAERandomEventData; 012import com.fs.starfarer.api.ui.TooltipMakerAPI; 013import com.fs.starfarer.api.ui.TooltipMakerAPI.TooltipCreator; 014 015public interface HostileActivityFactor { 016 017 String getId(); 018 019 String getNameForThreatList(boolean first); 020 Color getNameColorForThreatList(); 021 022 float getEffectMagnitude(StarSystemAPI system); 023 int getMaxNumFleets(StarSystemAPI system); 024 float getStayInHyperProbability(StarSystemAPI system); 025 float getSpawnInHyperProbability(StarSystemAPI system); 026 float getSpawnFrequency(StarSystemAPI system); 027 028 CampaignFleetAPI createFleet(StarSystemAPI system, Random random); 029 030 void setRandomizedStageSeed(long seed); 031 float getEventFrequency(HostileActivityEventIntel intel, EventStageData stage); 032 void rollEvent(HostileActivityEventIntel intel, EventStageData stage); 033 void addBulletPointForEvent(HostileActivityEventIntel intel, EventStageData stage, 034 TooltipMakerAPI info, ListInfoMode mode, boolean isUpdate, 035 Color tc, float initPad); 036 037 void addStageDescriptionForEvent(HostileActivityEventIntel intel, EventStageData stage, TooltipMakerAPI info); 038 //boolean canEscalate(HostileActivityEventIntel intel, EventStageData stage); 039 040 String getEventStageIcon(HostileActivityEventIntel intel, EventStageData stage); 041 String getEventStageSound(HAERandomEventData data); 042 043 TooltipCreator getStageTooltipImpl(HostileActivityEventIntel intel, EventStageData stage); 044 045 void resetEvent(HostileActivityEventIntel intel, EventStageData stage); 046 047 void addBulletPointForEventReset(HostileActivityEventIntel intel, EventStageData stage, TooltipMakerAPI info, 048 ListInfoMode mode, boolean isUpdate, Color tc, float initPad); 049 050 boolean fireEvent(HostileActivityEventIntel intel, EventStageData stage); 051}