001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.util.List; 004import java.util.Map; 005 006import com.fs.starfarer.api.Global; 007import com.fs.starfarer.api.campaign.InteractionDialogAPI; 008import com.fs.starfarer.api.campaign.SectorEntityToken; 009import com.fs.starfarer.api.campaign.rules.MemoryAPI; 010import com.fs.starfarer.api.characters.ImportantPeopleAPI.PersonDataAPI; 011import com.fs.starfarer.api.characters.PersonAPI; 012import com.fs.starfarer.api.impl.campaign.intel.contacts.ContactIntel; 013import com.fs.starfarer.api.util.Misc.Token; 014 015/** 016 * AddPotentialContact <optional person id> 017 */ 018public class AddPotentialContact extends BaseCommandPlugin { 019 020 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 021 022 SectorEntityToken entity = dialog.getInteractionTarget(); 023 if (entity == null) return false; 024 025 PersonAPI person = null; 026 if (params.size() > 0) { 027 String personId = params.get(0).getString(memoryMap); 028 PersonDataAPI data = Global.getSector().getImportantPeople().getData(personId); 029 if (data != null) { 030 person = data.getPerson(); 031 } 032 } 033 034 if (person == null) { 035 person = entity.getActivePerson(); 036 } 037 if (person == null) return false; 038 039 ContactIntel.addPotentialContact(1f, person, entity.getMarket(), dialog.getTextPanel()); 040 return true; 041 } 042 043} 044 045 046 047 048 049 050 051