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.rules.MemKeys;
009import com.fs.starfarer.api.campaign.rules.MemoryAPI;
010import com.fs.starfarer.api.characters.CharacterCreationData;
011import com.fs.starfarer.api.combat.ShipVariantAPI;
012import com.fs.starfarer.api.fleet.FleetMemberType;
013import com.fs.starfarer.api.util.Misc.Token;
014
015/**
016 *      NGCAddShip <variant id>
017 */
018public class NGCAddShip 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                CharacterCreationData data = (CharacterCreationData) memoryMap.get(MemKeys.LOCAL).get("$characterData");
024                
025//              data.getPerson().setPortraitSprite("graphics/portraits/portrait_ai2b.png");  
026//              data.getPerson().getName().setFirst("First");  
027//              data.getPerson().getName().setLast("Last");
028                
029                
030                String vid = params.get(0).getString(memoryMap);
031                FleetMemberType type = FleetMemberType.SHIP;
032                if (vid.endsWith("_wing")) {
033                        type = FleetMemberType.FIGHTER_WING; 
034                }
035                data.addStartingFleetMember(vid, type);
036
037                
038                ShipVariantAPI variant = Global.getSettings().getVariant(vid);
039                AddRemoveCommodity.addFleetMemberGainText(variant, dialog.getTextPanel());
040                
041                return true;
042        }
043
044}