public GameAction createGameAction(int extraDmg, double extraRange) {
        if (extraDmg != 0 && extraRange > DELTA) {
            return new GameAction(extraDmg, extraRange);
        }
        if (extraDmg != 0) {
            return new DmgBuffAction(extraDmg);
        }
        if (extraRange > DELTA) {
            return new RangeBuffAction(extraRange);
        }
        return null; // TODO this could cause errors, change to "return new GameAction(extraDmg, extraRange);" ?
    }