44 if (attack ==
null || attack.
isEnding())
return;
46 Random
random =
new Random();
48 StarSystemAPI target = TriTachyonHostileActivityFactor.getPrimaryTriTachyonSystem();
49 if (target ==
null)
return;
51 GenericRaidParams
params =
new GenericRaidParams(
new Random(),
false);
57 SectorEntityToken
origin = pf.getContainingLocation().createToken(pf.getLocation());
60 fake.setPrimaryEntity(
origin);
65 params.payloadDays = 27f + 7f *
random.nextFloat();
67 params.raidParams.where = target;
68 params.raidParams.type = FGRaidType.SEQUENTIAL;
70 Set<String> disrupt =
new LinkedHashSet<String>();
71 for (MarketAPI market : Misc.getMarketsInLocation(target, Factions.TRITACHYON)) {
72 params.raidParams.allowedTargets.add(market);
73 params.raidParams.allowNonHostileTargets =
true;
74 for (Industry ind : market.getIndustries()) {
75 if (ind.getSpec().hasTag(Industries.TAG_UNRAIDABLE))
continue;
76 disrupt.add(ind.getId());
80 params.raidParams.disrupt.addAll(disrupt);
81 params.raidParams.raidsPerColony = Math.min(disrupt.size(), 4);
82 if (disrupt.isEmpty()) {
83 params.raidParams.raidsPerColony = 2;
86 if (
params.raidParams.allowedTargets.isEmpty()) {
90 params.factionId = Factions.INDEPENDENT;
117 String reasonTTMA =
"TTMA";
118 String reasonTTMAR =
"TTMAR";
119 for (CampaignFleetAPI fleet : reverse.
getFleets()) {
120 MemoryAPI mem = fleet.getMemoryWithoutUpdate();
121 fleet.clearAssignments();
122 mem.unset(Misc.FLEET_RETURNING_TO_DESPAWN);
132 Misc.makeNonHostileToFaction(fleet, Factions.DIKTAT,
false, -1);
133 Misc.makeNonHostileToFaction(fleet, Factions.TRITACHYON,
false, -1);
136 Misc.setFlagWithReason(mem, MemFlags.MEMORY_KEY_MAKE_HOSTILE,
137 reasonTTMA,
false, -1f);
138 Misc.setFlagWithReason(mem, MemFlags.MEMORY_KEY_MAKE_NON_HOSTILE,
139 reasonTTMAR,
true, -1f);
146 Global.
getSector().getIntelManager().addIntel(reverse,
false, dialog.getTextPanel());
148 TriTachyonCommerceRaiding.addFactorCreateIfNecessary(
new TTCRMercenariesBribedFactor(), dialog);