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}