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.MemoryAPI; 009import com.fs.starfarer.api.util.Misc; 010import com.fs.starfarer.api.util.Misc.Token; 011 012/** 013 * SubCredits <credits> 014 */ 015public class SubCredits extends BaseCommandPlugin { 016 017 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 018 if (dialog == null) return false; 019 020 float credits = params.get(0).getFloat(memoryMap); 021 022 Global.getSector().getPlayerFleet().getCargo().getCredits().add(-1 * (int)credits); 023 if (Global.getSector().getPlayerFleet().getCargo().getCredits().get() < 0) { 024 Global.getSector().getPlayerFleet().getCargo().getCredits().set(0); 025 } 026 027 028 MemoryAPI memory = Global.getSector().getCharacterData().getMemoryWithoutUpdate(); 029 memory.set("$credits", (int)Global.getSector().getPlayerFleet().getCargo().getCredits().get(), 0); 030 memory.set("$creditsStr", Misc.getWithDGS(Global.getSector().getPlayerFleet().getCargo().getCredits().get()), 0); 031 032 return true; 033 } 034 035}