001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.util.List; 004import java.util.Map; 005 006import com.fs.starfarer.api.campaign.InteractionDialogAPI; 007import com.fs.starfarer.api.campaign.CargoAPI.CargoItemType; 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.util.Misc.Token; 012 013/** 014 * NGCRemoveCargo <CargoItemType> <cargo id> <quantity> 015 */ 016public class NGCRemoveCargo extends BaseCommandPlugin { 017 018 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 019 if (dialog == null) return false; 020 021 CargoItemType type = CargoItemType.valueOf(params.get(0).getString(memoryMap)); 022 String id = params.get(1).getString(memoryMap); 023 float qty = params.get(2).getFloat(memoryMap); 024 025 CharacterCreationData data = (CharacterCreationData) memoryMap.get(MemKeys.LOCAL).get("$characterData"); 026 027 data.getStartingCargo().removeItems(type, id, qty); 028 return true; 029 } 030 031}