001package com.fs.starfarer.api.impl.campaign.events; 002 003import java.util.Map; 004 005import com.fs.starfarer.api.Global; 006import com.fs.starfarer.api.campaign.BaseOnMessageDeliveryScript; 007import com.fs.starfarer.api.campaign.comm.CommMessageAPI; 008import com.fs.starfarer.api.campaign.comm.MessagePriority; 009import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepActionEnvelope; 010import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepActions; 011 012 013public class InvestigationEventCommSniffer extends InvestigationEvent { 014 015 public InvestigationEventCommSniffer() { 016 super(); 017 } 018 019 @Override 020 public void startEvent() { 021 if (faction == null || faction.isNeutralFaction()) { 022 log.info("Aborting comm sniffer invesitgation on " + entity.getName() + ", null or neutral faction"); 023 endEvent(); 024 } 025 026 Global.getSector().getIntel().getCommSnifferLocations().remove(entity); 027 028 InvestigationEventParams params = 029 new InvestigationEventParams("Comm sniffer investigation - " + entity.getName(), "start_comm_sniffer"); 030 031 params.warningPriority = MessagePriority.ENSURE_DELIVERY; 032 params.minInitialDelay = 0; 033 params.maxInitialDelay = 0f; 034 035 float guiltMult = getPlayerRepGuiltMult(faction); 036 037 InvestigationResult clear = new InvestigationResult(null, null); 038 InvestigationResult guilty = new InvestigationResult("player_guilty_comm_sniffer", MessagePriority.ENSURE_DELIVERY); 039 params.results.add(clear); 040 params.results.add(guilty); 041 042 clear.weight = 100f; 043 guilty.weight = 25f * guiltMult; 044 045 guilty.onDelivery = new BaseOnMessageDeliveryScript() { 046 public void beforeDelivery(CommMessageAPI message) { 047 Global.getSector().adjustPlayerReputation( 048 new RepActionEnvelope(RepActions.COMM_SNIFFER_INVESTIGATION_GUILTY, null, null, true), 049 faction.getId()); 050 } 051 }; 052 053 setParam(params); 054 055 super.startEvent(); 056 } 057 058 @Override 059 public Map<String, String> getTokenReplacements() { 060 return super.getTokenReplacements(); 061 } 062 063} 064 065 066 067 068 069 070 071 072