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.Factions;
011import com.fs.starfarer.api.impl.campaign.ids.Ranks;
012import com.fs.starfarer.api.impl.campaign.rulecmd.BaseCommandPlugin;
013import com.fs.starfarer.api.util.Misc.Token;
014
015/**
016 * Does not start an actual conversation, but does set them as the active person (so $heOrShe etc tokens work)
017 */
018public class GenGAIntroAcademician extends BaseCommandPlugin {
019
020        public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
021                if (dialog == null) return false;
022                
023                PersonAPI person = Global.getSector().getFaction(Factions.INDEPENDENT).createRandomPerson();
024                person.setRankId(Ranks.CITIZEN);
025                person.setPostId(Ranks.POST_ACADEMICIAN);
026                
027                // so that $herOrShe tokens work
028                dialog.getInteractionTarget().setActivePerson(person);
029                
030                dialog.getVisualPanel().showPersonInfo(person, false, true);
031
032                return true;
033        }
034}
035
036
037
038
039
040
041
042
043
044