17 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
18 if (dialog ==
null)
return false;
20 String commodityId = params.get(0).getString(memoryMap);
23 if (params.get(1).isOperator()) {
24 quantity = -1 * params.get(2).getFloat(memoryMap);
27 quantity = params.get(1).getFloat(memoryMap);
32 boolean withText = Math.abs(quantity) >= 1;
33 if (dialog !=
null && params.size() >= next + 1) {
34 withText = params.get(next).getBoolean(memoryMap) && withText;
37 if (commodityId.equals(
"credits")) {
38 MutableValue credits =
Global.
getSector().getPlayerFleet().getCargo().getCredits();
40 credits.add(quantity);
45 credits.subtract(Math.abs(quantity));
46 if (credits.get() < 0) credits.set(0);
56 Global.
getSector().getPlayerFleet().getCargo().addCommodity(commodityId, quantity);
61 Global.
getSector().getPlayerFleet().getCargo().removeCommodity(commodityId, Math.abs(quantity));
68 if (!
"credits".equals(commodityId)) {