@Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Position)) return false;
        Position that = (Position) o;

        return hashCode == that.hashCode &&
                bonuses == that.bonuses &&
                stance == that.stance &&
                me.equals(that.me) &&
                Arrays.equals(allyHp, that.allyHp) &&
                Arrays.equals(enemyHp, that.enemyHp) &&
                Arrays.equals(collected, that.collected);
    }