001package com.fs.starfarer.api.impl.campaign.rulecmd.academy; 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.rules.MemoryAPI; 009import com.fs.starfarer.api.characters.PersonAPI; 010import com.fs.starfarer.api.impl.campaign.ids.People; 011import com.fs.starfarer.api.impl.campaign.rulecmd.BaseCommandPlugin; 012import com.fs.starfarer.api.util.Misc.Token; 013 014/** 015 * Does not start an actual conversation, but does set them as the active person (so $heOrShe etc tokens work) 016 */ 017public class ShowGAOfficer extends BaseCommandPlugin { 018 019 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 020 if (dialog == null) return false; 021 022// PersonAPI person = Global.getSector().getFaction(Factions.HEGEMONY).createRandomPerson(); 023// person.setRankId(Ranks.GROUND_LIEUTENANT); 024// person.setGender(Gender.MALE); 025// person.getName().setFirst("Caliban"); 026// person.getName().setLast("Tseen Ke"); 027// person.setPortraitSprite(Global.getSettings().getSpriteName("characters", "ga_officer")); 028 029 PersonAPI person = Global.getSector().getImportantPeople().getPerson(People.HEGEMONY_GA_OFFICER); 030 if (person == null) return false; 031 032 // so that $herOrShe tokens work 033 dialog.getInteractionTarget().setActivePerson(person); 034 035 dialog.getVisualPanel().showPersonInfo(person, false, true); 036 037 038 // if we did this, it would also change the current memory; don't want that 039 //((RuleBasedDialog) dialog.getPlugin()).notifyActivePersonChanged(); 040 041 return true; 042 } 043} 044 045 046 047 048 049 050 051 052 053