├── .editorconfig ├── .gitattributes ├── .github └── workflows │ ├── build.yml │ ├── disable-anniversary-pack.yml │ ├── disable-devovorga-pack.yml │ ├── disable-lightbearer-pack.yml │ ├── enable-anniversary-pack.yml │ ├── enable-devovorga-pack.yml │ ├── enable-lightbearer-pack.yml │ ├── enable-orcsoberfest-island-pack.yml │ ├── enable-percht-island.yml │ ├── import-markers-lee.yml │ ├── import-markers-mathias.yml │ ├── import-markers-pieter.yml │ ├── import-markers-ricci.yml │ └── import-markers-spenceron.yml ├── .gitignore ├── .npmrc ├── .nvmrc ├── LICENSE-MIT.txt ├── README.md ├── data-with-overlays └── challenging │ ├── bounds.json │ ├── floor-00-map.png │ ├── floor-01-map.png │ ├── floor-02-map.png │ ├── floor-03-map.png │ ├── floor-04-map.png │ ├── floor-05-map.png │ ├── floor-06-map.png │ ├── floor-07-map.png │ ├── floor-08-map.png │ ├── floor-09-map.png │ ├── floor-10-map.png │ ├── floor-11-map.png │ ├── floor-12-map.png │ ├── floor-13-map.png │ ├── floor-14-map.png │ └── floor-15-map.png ├── data ├── bounds.json ├── floor-00-map.png ├── floor-00-path.png ├── floor-01-map.png ├── floor-01-path.png ├── floor-02-map.png ├── floor-02-path.png ├── floor-03-map.png ├── floor-03-path.png ├── floor-04-map.png ├── floor-04-path.png ├── floor-05-map.png ├── floor-05-path.png ├── floor-06-map.png ├── floor-06-path.png ├── floor-07-map.png ├── floor-07-path.png ├── floor-08-map.png ├── floor-08-path.png ├── floor-09-map.png ├── floor-09-path.png ├── floor-10-map.png ├── floor-10-path.png ├── floor-11-map.png ├── floor-11-path.png ├── floor-12-map.png ├── floor-12-path.png ├── floor-13-map.png ├── floor-13-path.png ├── floor-14-map.png ├── floor-14-path.png ├── floor-15-map.png ├── floor-15-path.png └── markers.json ├── extra ├── achievements │ └── markers.json ├── anniversary │ └── markers.json ├── devovorga │ └── markers.json ├── ignore │ └── markers.json ├── lightbearer │ └── markers.json ├── orcsoberfest-island │ ├── Minimap_Color_32256_32256_7.png │ ├── Minimap_Color_33536_30976_1.png │ ├── Minimap_Color_33536_30976_2.png │ ├── Minimap_Color_33536_30976_3.png │ ├── Minimap_Color_33536_30976_4.png │ ├── Minimap_Color_33536_30976_5.png │ ├── Minimap_Color_33536_30976_6.png │ ├── Minimap_Color_33536_30976_7.png │ ├── Minimap_Color_33536_30976_8.png │ ├── Minimap_Color_33536_30976_9.png │ ├── Minimap_Color_33792_30976_1.png │ ├── Minimap_Color_33792_30976_2.png │ ├── Minimap_Color_33792_30976_3.png │ ├── Minimap_Color_33792_30976_4.png │ ├── Minimap_Color_33792_30976_5.png │ ├── Minimap_Color_33792_30976_6.png │ ├── Minimap_Color_33792_30976_7.png │ ├── Minimap_Color_33792_30976_8.png │ ├── Minimap_Color_33792_30976_9.png │ ├── Minimap_WaypointCost_32256_32256_7.png │ ├── Minimap_WaypointCost_33536_30976_1.png │ ├── Minimap_WaypointCost_33536_30976_2.png │ ├── Minimap_WaypointCost_33536_30976_3.png │ ├── Minimap_WaypointCost_33536_30976_4.png │ ├── Minimap_WaypointCost_33536_30976_5.png │ ├── Minimap_WaypointCost_33536_30976_6.png │ ├── Minimap_WaypointCost_33536_30976_7.png │ ├── Minimap_WaypointCost_33536_30976_8.png │ ├── Minimap_WaypointCost_33536_30976_9.png │ ├── Minimap_WaypointCost_33792_30976_1.png │ ├── Minimap_WaypointCost_33792_30976_2.png │ ├── Minimap_WaypointCost_33792_30976_3.png │ ├── Minimap_WaypointCost_33792_30976_4.png │ ├── Minimap_WaypointCost_33792_30976_5.png │ ├── Minimap_WaypointCost_33792_30976_6.png │ ├── Minimap_WaypointCost_33792_30976_7.png │ ├── Minimap_WaypointCost_33792_30976_8.png │ ├── Minimap_WaypointCost_33792_30976_9.png │ └── markers.json ├── percht-island │ ├── Minimap_Color_33536_30976_1.png │ ├── Minimap_Color_33536_30976_2.png │ ├── Minimap_Color_33536_30976_3.png │ ├── Minimap_Color_33536_30976_4.png │ ├── Minimap_Color_33536_30976_5.png │ ├── Minimap_Color_33536_30976_6.png │ ├── Minimap_Color_33536_30976_7.png │ ├── Minimap_Color_33536_30976_8.png │ ├── Minimap_Color_33536_30976_9.png │ ├── Minimap_Color_33792_30976_1.png │ ├── Minimap_Color_33792_30976_2.png │ ├── Minimap_Color_33792_30976_3.png │ ├── Minimap_Color_33792_30976_4.png │ ├── Minimap_Color_33792_30976_5.png │ ├── Minimap_Color_33792_30976_6.png │ ├── Minimap_Color_33792_30976_7.png │ ├── Minimap_Color_33792_30976_8.png │ ├── Minimap_Color_33792_30976_9.png │ ├── Minimap_WaypointCost_33536_30976_1.png │ ├── Minimap_WaypointCost_33536_30976_2.png │ ├── Minimap_WaypointCost_33536_30976_3.png │ ├── Minimap_WaypointCost_33536_30976_4.png │ ├── Minimap_WaypointCost_33536_30976_5.png │ ├── Minimap_WaypointCost_33536_30976_6.png │ ├── Minimap_WaypointCost_33536_30976_7.png │ ├── Minimap_WaypointCost_33536_30976_8.png │ ├── Minimap_WaypointCost_33536_30976_9.png │ ├── Minimap_WaypointCost_33792_30976_1.png │ ├── Minimap_WaypointCost_33792_30976_2.png │ ├── Minimap_WaypointCost_33792_30976_3.png │ ├── Minimap_WaypointCost_33792_30976_4.png │ ├── Minimap_WaypointCost_33792_30976_5.png │ ├── Minimap_WaypointCost_33792_30976_6.png │ ├── Minimap_WaypointCost_33792_30976_7.png │ ├── Minimap_WaypointCost_33792_30976_8.png │ ├── Minimap_WaypointCost_33792_30976_9.png │ └── markers.json ├── points-of-interest │ └── markers.json └── rapid-respawn │ └── markers.json ├── overlays └── challenging │ ├── floor-03.png │ ├── floor-04.png │ ├── floor-05.png │ ├── floor-07.png │ ├── floor-08.png │ ├── floor-09.png │ ├── floor-10.png │ ├── floor-11.png │ ├── floor-12.png │ ├── floor-13.png │ ├── floor-14.png │ └── floor-15.png ├── package-lock.json ├── package.json └── scripts ├── apply-overlay.sh ├── build.sh ├── disable-marker-pack.mjs ├── enable-marker-pack.mjs ├── enable-pack.sh ├── move-to-extra.mjs └── sort-markers.mjs /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = tab 6 | end_of_line = lf 7 | insert_final_newline = true 8 | trim_trailing_whitespace = true 9 | 10 | [{README.md,package.json,*.yml}] 11 | indent_style = space 12 | indent_size = 2 13 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Automatically normalize line endings for all text-based files 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build and deploy 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | workflow_dispatch: 8 | 9 | concurrency: 10 | group: ${{ github.workflow }}-${{ github.ref }} 11 | cancel-in-progress: true 12 | 13 | jobs: 14 | build-and-deploy: 15 | runs-on: ubuntu-latest 16 | env: 17 | CXX: 'g++-4.8' 18 | steps: 19 | - name: Checkout 20 | uses: actions/checkout@v3 21 | 22 | - name: Set up Node.js 23 | uses: actions/setup-node@v3 24 | with: 25 | node-version-file: '.nvmrc' 26 | cache: 'npm' 27 | 28 | - name: Install dependencies 29 | run: | 30 | sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev 31 | npm ci 32 | echo "$(npm bin)" >> $GITHUB_PATH 33 | 34 | - name: Test 35 | run: | 36 | tibia-maps --version 37 | tibia-maps --from-data=./data --output-dir=./minimap 38 | tibia-maps --from-minimap=./minimap --output-dir=./data 39 | # git status && git diff-index --quiet HEAD -- 40 | git status 41 | git diff 42 | 43 | - name: Build dist 44 | run: | 45 | npm run build 46 | 47 | - name: Set up SSH 48 | uses: webfactory/ssh-agent@v0.4.1 49 | with: 50 | ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} 51 | 52 | - name: Deploy 53 | uses: JamesIves/github-pages-deploy-action@releases/v3 54 | with: 55 | SSH: true 56 | SINGLE_COMMIT: true 57 | BASE_BRANCH: main 58 | BRANCH: gh-pages 59 | FOLDER: dist 60 | -------------------------------------------------------------------------------- /.github/workflows/disable-anniversary-pack.yml: -------------------------------------------------------------------------------- 1 | name: 'Disable Anniversary pack' 2 | 3 | on: 4 | schedule: 5 | # Run annually at 04:00 UTC on January 11th. 6 | #- cron: '0 4 11 1 *' 7 | workflow_dispatch: 8 | 9 | jobs: 10 | disable-anniversary-pack: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout 14 | uses: actions/checkout@v3 15 | with: 16 | ref: ${{ github.head_ref }} 17 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 18 | 19 | - name: Set up Node.js 20 | uses: actions/setup-node@v3 21 | with: 22 | node-version-file: '.nvmrc' 23 | cache: 'npm' 24 | 25 | - name: Install dependencies 26 | run: npm ci 27 | 28 | - name: Disable pack 29 | run: | 30 | node scripts/disable-marker-pack.mjs anniversary 31 | git config user.name 'TibiaMaps.io' 32 | git config user.email 'ci@tibiamaps.io' 33 | git commit data -m 'Disable Anniversary pack' -m 'This patch disables the Tibia Anniversary markers now that the event (which runs from January 7th until January 10th) has come to an end.' 34 | git push 35 | -------------------------------------------------------------------------------- /.github/workflows/disable-devovorga-pack.yml: -------------------------------------------------------------------------------- 1 | name: 'Disable Devovorga pack' 2 | 3 | on: 4 | schedule: 5 | # Run annually at 04:00 UTC on October 1st. 6 | - cron: '0 4 1 10 *' 7 | workflow_dispatch: 8 | 9 | jobs: 10 | disable-lightbearer: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout 14 | uses: actions/checkout@v3 15 | with: 16 | ref: ${{ github.head_ref }} 17 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 18 | 19 | - name: Set up Node.js 20 | uses: actions/setup-node@v3 21 | with: 22 | node-version-file: '.nvmrc' 23 | cache: 'npm' 24 | 25 | - name: Install dependencies 26 | run: npm ci 27 | 28 | - name: Disable pack 29 | run: | 30 | node scripts/disable-marker-pack.mjs devovorga 31 | git config user.name 'TibiaMaps.io' 32 | git config user.email 'ci@tibiamaps.io' 33 | git commit data -m 'Disable Devovorga pack' -m 'This patch disables the Rise of Devovorga markers now that the event (which runs from September 1st until September 7th, with potential rewards until October 1st) has come to an end.' 34 | git push 35 | -------------------------------------------------------------------------------- /.github/workflows/disable-lightbearer-pack.yml: -------------------------------------------------------------------------------- 1 | name: 'Disable Lightbearer pack' 2 | 3 | on: 4 | schedule: 5 | # Run annually at 04:00 UTC on November 16th. 6 | - cron: '0 4 16 11 *' 7 | workflow_dispatch: 8 | 9 | jobs: 10 | disable-lightbearer: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout 14 | uses: actions/checkout@v3 15 | with: 16 | ref: ${{ github.head_ref }} 17 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 18 | 19 | - name: Set up Node.js 20 | uses: actions/setup-node@v3 21 | with: 22 | node-version-file: '.nvmrc' 23 | cache: 'npm' 24 | 25 | - name: Install dependencies 26 | run: npm ci 27 | 28 | - name: Disable pack 29 | run: | 30 | node scripts/disable-marker-pack.mjs lightbearer 31 | git config user.name 'TibiaMaps.io' 32 | git config user.email 'ci@tibiamaps.io' 33 | git commit data -m 'Disable Lightbearer pack' -m 'This patch disables the Lightbearer markers now that the event (which runs from November 11th until November 15th) has come to an end.' 34 | git push 35 | -------------------------------------------------------------------------------- /.github/workflows/enable-anniversary-pack.yml: -------------------------------------------------------------------------------- 1 | name: 'Enable Anniversary pack' 2 | 3 | on: 4 | schedule: 5 | # Run annually at 04:00 UTC on December 1st. 6 | #- cron: '0 4 1 12 *' 7 | workflow_dispatch: 8 | 9 | jobs: 10 | enable-anniversary: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout 14 | uses: actions/checkout@v3 15 | with: 16 | ref: ${{ github.head_ref }} 17 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 18 | 19 | - name: Set up Node.js 20 | uses: actions/setup-node@v3 21 | with: 22 | node-version-file: '.nvmrc' 23 | cache: 'npm' 24 | 25 | - name: Install dependencies 26 | run: npm ci 27 | 28 | - name: Enable pack 29 | run: | 30 | node scripts/enable-marker-pack.mjs anniversary 31 | git config user.name 'TibiaMaps.io' 32 | git config user.email 'ci@tibiamaps.io' 33 | git commit data -m 'Enable Anniversary pack' -m 'This patch enables the Tibia Anniversary markers in preparation for the upcoming event (which runs from January 7th until January 10th).' 34 | git push 35 | -------------------------------------------------------------------------------- /.github/workflows/enable-devovorga-pack.yml: -------------------------------------------------------------------------------- 1 | name: 'Enable Devovorga pack' 2 | 3 | on: 4 | schedule: 5 | # Run annually at 04:00 UTC on August 1st (1 month before the event). 6 | # https://tibia.fandom.com/wiki/Rise_of_Devovorga/Spoiler 7 | - cron: '0 4 1 8 *' 8 | workflow_dispatch: 9 | 10 | jobs: 11 | enable-anniversary: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v3 16 | with: 17 | ref: ${{ github.head_ref }} 18 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 19 | 20 | - name: Set up Node.js 21 | uses: actions/setup-node@v3 22 | with: 23 | node-version-file: '.nvmrc' 24 | cache: 'npm' 25 | 26 | - name: Install dependencies 27 | run: npm ci 28 | 29 | - name: Enable pack 30 | run: | 31 | node scripts/enable-marker-pack.mjs devovorga 32 | git config user.name 'TibiaMaps.io' 33 | git config user.email 'ci@tibiamaps.io' 34 | git commit data -m 'Enable Devovorga pack' -m 'This patch enables the Rise of Devovorga markers in preparation for the upcoming event (which runs from September 1st until September 7th, with potential rewards until October 1st).' 35 | git push 36 | -------------------------------------------------------------------------------- /.github/workflows/enable-lightbearer-pack.yml: -------------------------------------------------------------------------------- 1 | name: 'Enable Lightbearer pack' 2 | 3 | on: 4 | schedule: 5 | # Run annually at 04:00 UTC on November 1st. 6 | - cron: '0 4 1 11 *' 7 | workflow_dispatch: 8 | 9 | jobs: 10 | enable-lightbearer: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout 14 | uses: actions/checkout@v3 15 | with: 16 | ref: ${{ github.head_ref }} 17 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 18 | 19 | - name: Set up Node.js 20 | uses: actions/setup-node@v3 21 | with: 22 | node-version-file: '.nvmrc' 23 | cache: 'npm' 24 | 25 | - name: Install dependencies 26 | run: npm ci 27 | 28 | - name: Enable pack 29 | run: | 30 | node scripts/enable-marker-pack.mjs lightbearer 31 | git config user.name 'TibiaMaps.io' 32 | git config user.email 'ci@tibiamaps.io' 33 | git commit data -m 'Enable Lightbearer pack' -m 'This patch enables the Lightbearer markers in preparation for the upcoming event (which runs from November 11th until November 15th).' 34 | git push 35 | -------------------------------------------------------------------------------- /.github/workflows/enable-orcsoberfest-island-pack.yml: -------------------------------------------------------------------------------- 1 | name: 'Enable Orcsoberfest Island pack' 2 | 3 | on: 4 | schedule: 5 | # Orcsoberfest runs from the second Friday until the third Friday 6 | # of October and March, followed by a weekend of rewards. 7 | # Run annually at 04:00 UTC on February 1st. (The pack remains 8 | # active until October, so there’s no need to re-enable it.) 9 | # See enable-percht*.yml which overrides this in December. 10 | - cron: '0 4 1 2 *' 11 | workflow_dispatch: 12 | 13 | jobs: 14 | import-markers: 15 | runs-on: ubuntu-latest 16 | steps: 17 | - name: Checkout 18 | uses: actions/checkout@v3 19 | with: 20 | ref: ${{ github.head_ref }} 21 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 22 | 23 | - name: Set up Node.js 24 | uses: actions/setup-node@v3 25 | with: 26 | node-version-file: '.nvmrc' 27 | cache: 'npm' 28 | 29 | - name: Install dependencies 30 | run: npm ci 31 | 32 | - name: Enable pack 33 | run: | 34 | scripts/enable-pack.sh orcsoberfest 35 | git config user.name 'TibiaMaps.io' 36 | git config user.email 'ci@tibiamaps.io' 37 | git commit data -m 'Enable Orcsoberfest Island maps' -m 'This patch replaces the Percht Island maps (and their markers) with the Orcsoberfest Island maps (and their markers) in preparation for the upcoming event.' 38 | git push 39 | -------------------------------------------------------------------------------- /.github/workflows/enable-percht-island.yml: -------------------------------------------------------------------------------- 1 | name: 'Enable Percht Island pack' 2 | 3 | on: 4 | schedule: 5 | # The Winterlight Solstice event runs from December 22 to January 6 | # 10, followed by 7 days of rewards. 7 | # Run annually at 04:00 UTC on December 1st. 8 | # See enable-orcsoberfest*.yml which overrides this in February. 9 | - cron: '0 4 1 12 *' 10 | workflow_dispatch: 11 | 12 | jobs: 13 | import-markers: 14 | runs-on: ubuntu-latest 15 | steps: 16 | - name: Checkout 17 | uses: actions/checkout@v3 18 | with: 19 | ref: ${{ github.head_ref }} 20 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 21 | 22 | - name: Set up Node.js 23 | uses: actions/setup-node@v3 24 | with: 25 | node-version-file: '.nvmrc' 26 | cache: 'npm' 27 | 28 | - name: Install dependencies 29 | run: npm ci 30 | 31 | - name: Enable pack 32 | run: | 33 | scripts/enable-pack.sh percht 34 | git config user.name 'TibiaMaps.io' 35 | git config user.email 'ci@tibiamaps.io' 36 | git commit data -m 'Enable Percht Island maps' -m 'This patch replaces the Orcsoberfest Island maps (and their markers) with the Percht Island maps (and their markers) in preparation for the upcoming event.' 37 | git push 38 | -------------------------------------------------------------------------------- /.github/workflows/import-markers-lee.yml: -------------------------------------------------------------------------------- 1 | name: 'Import markers from Lee' 2 | 3 | on: 4 | workflow_dispatch 5 | 6 | jobs: 7 | import-markers: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v3 12 | with: 13 | ref: ${{ github.head_ref }} 14 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 15 | 16 | - name: Set up Node.js 17 | uses: actions/setup-node@v3 18 | with: 19 | node-version-file: '.nvmrc' 20 | cache: 'npm' 21 | 22 | - name: Install dependencies 23 | run: npm ci 24 | 25 | - name: Import markers 26 | env: 27 | URL: ${{secrets.MARKERS_URL_LEE}} 28 | run: | 29 | mkdir -p minimap 30 | curl --silent --location --output minimap/minimapmarkers.bin "${URL}" 31 | node_modules/.bin/tibia-maps --from-minimap=minimap --output-dir=data --markers-only 32 | node scripts/disable-marker-pack.mjs 'ignore' 33 | git config user.name 'TibiaMaps.io' 34 | git config user.email 'ci@tibiamaps.io' 35 | git commit data/markers.json -m 'Import marker changes from Lee’s client' 36 | git push 37 | -------------------------------------------------------------------------------- /.github/workflows/import-markers-mathias.yml: -------------------------------------------------------------------------------- 1 | name: 'Import markers from Mathias' 2 | 3 | on: 4 | workflow_dispatch 5 | 6 | jobs: 7 | import-markers: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v3 12 | with: 13 | ref: ${{ github.head_ref }} 14 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 15 | 16 | - name: Set up Node.js 17 | uses: actions/setup-node@v3 18 | with: 19 | node-version-file: '.nvmrc' 20 | cache: 'npm' 21 | 22 | - name: Install dependencies 23 | run: npm ci 24 | 25 | - name: Import markers 26 | env: 27 | URL: ${{secrets.MARKERS_URL_MATHIAS}} 28 | run: | 29 | mkdir -p minimap 30 | curl --silent --location --output minimap/minimapmarkers.bin "${URL}" 31 | node_modules/.bin/tibia-maps --from-minimap=minimap --output-dir=data --markers-only 32 | node scripts/disable-marker-pack.mjs 'ignore' 33 | git config user.name 'TibiaMaps.io' 34 | git config user.email 'ci@tibiamaps.io' 35 | git commit data/markers.json -m 'Import marker changes from Mathias’s client' 36 | git push 37 | -------------------------------------------------------------------------------- /.github/workflows/import-markers-pieter.yml: -------------------------------------------------------------------------------- 1 | name: 'Import markers from Pieter' 2 | 3 | on: 4 | workflow_dispatch 5 | 6 | jobs: 7 | import-markers: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v3 12 | with: 13 | ref: ${{ github.head_ref }} 14 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 15 | 16 | - name: Set up Node.js 17 | uses: actions/setup-node@v3 18 | with: 19 | node-version-file: '.nvmrc' 20 | cache: 'npm' 21 | 22 | - name: Install dependencies 23 | run: npm ci 24 | 25 | - name: Import markers 26 | env: 27 | URL: ${{secrets.MARKERS_URL_PIETER}} 28 | run: | 29 | mkdir -p minimap 30 | curl --silent --location --output minimap/minimapmarkers.bin "${URL}" 31 | node_modules/.bin/tibia-maps --from-minimap=minimap --output-dir=data --markers-only 32 | node scripts/disable-marker-pack.mjs 'ignore' 33 | git config user.name 'TibiaMaps.io' 34 | git config user.email 'ci@tibiamaps.io' 35 | git commit data/markers.json -m 'Import marker changes from Pieter’s client' 36 | git push 37 | -------------------------------------------------------------------------------- /.github/workflows/import-markers-ricci.yml: -------------------------------------------------------------------------------- 1 | name: 'Import markers from Ricci' 2 | 3 | on: 4 | workflow_dispatch 5 | 6 | jobs: 7 | import-markers: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v3 12 | with: 13 | ref: ${{ github.head_ref }} 14 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 15 | 16 | - name: Set up Node.js 17 | uses: actions/setup-node@v3 18 | with: 19 | node-version-file: '.nvmrc' 20 | cache: 'npm' 21 | 22 | - name: Install dependencies 23 | run: npm ci 24 | 25 | - name: Import markers 26 | env: 27 | URL: ${{secrets.MARKERS_URL_RICCI}} 28 | run: | 29 | mkdir -p minimap 30 | curl --silent --location --output minimap/minimapmarkers.bin "${URL}" 31 | node_modules/.bin/tibia-maps --from-minimap=minimap --output-dir=data --markers-only 32 | node scripts/disable-marker-pack.mjs 'ignore' 33 | git config user.name 'TibiaMaps.io' 34 | git config user.email 'ci@tibiamaps.io' 35 | git commit data/markers.json -m 'Import marker changes from Ricci’s client' 36 | git push 37 | -------------------------------------------------------------------------------- /.github/workflows/import-markers-spenceron.yml: -------------------------------------------------------------------------------- 1 | name: 'Import markers from Spenceron' 2 | 3 | on: 4 | workflow_dispatch 5 | 6 | jobs: 7 | import-markers: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v3 12 | with: 13 | ref: ${{ github.head_ref }} 14 | token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} 15 | 16 | - name: Set up Node.js 17 | uses: actions/setup-node@v3 18 | with: 19 | node-version-file: '.nvmrc' 20 | cache: 'npm' 21 | 22 | - name: Install dependencies 23 | run: npm ci 24 | 25 | - name: Import markers 26 | env: 27 | URL: ${{secrets.MARKERS_URL_SPENCERON}} 28 | run: | 29 | mkdir -p minimap 30 | curl --silent --location --output minimap/minimapmarkers.bin "${URL}" 31 | node_modules/.bin/tibia-maps --from-minimap=minimap --output-dir=data --markers-only 32 | node scripts/disable-marker-pack.mjs 'ignore' 33 | git config user.name 'TibiaMaps.io' 34 | git config user.email 'ci@tibiamaps.io' 35 | git commit data/markers.json -m 'Import marker changes from Spenceron’s client' 36 | git push 37 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | minimap-new 2 | minimap 3 | *.zip 4 | dist 5 | 6 | node_modules 7 | 8 | # Folder view configuration files 9 | .DS_Store 10 | Desktop.ini 11 | 12 | # Thumbnail cache files 13 | ._* 14 | Thumbs.db 15 | 16 | # Files that might appear on external disks 17 | .Spotlight-V100 18 | .Trashes 19 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | package-lock=true 2 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 14 2 | -------------------------------------------------------------------------------- /LICENSE-MIT.txt: -------------------------------------------------------------------------------- 1 | Copyright Mathias Bynens 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tibia map data [![Build status](https://github.com/tibiamaps/tibia-map-data/actions/workflows/build.yml/badge.svg)](https://github.com/tibiamaps/tibia-map-data/actions/workflows/build.yml) 2 | 3 | This repository hosts (almost) fully explored [Tibia](https://secure.tibia.com/) maps in a custom format that is more suitable for version control systems than [the original, binary format](https://tibiamaps.io/guides/map-file-format). 4 | 5 | [The `tibia-maps` script](https://github.com/tibiamaps/tibia-maps-script) can be used to convert from either format to the other. 6 | 7 | The custom format consists of three files for each floor: 8 | 9 | 1. a PNG image containing the entire map; 10 | 2. a PNG image visualizing the pathfinding data; 11 | 3. a JSON file containing the marker info, if any. 12 | 13 | ## Using the PNGs 14 | 15 | Feel free to use the generated data in your own projects. For example, if you need Tibia maps in PNG format, you could hotlink the following URLs: 16 | 17 | * [`https://tibiamaps.github.io/tibia-map-data/floor-00-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-00-map.png) 18 | * [`https://tibiamaps.github.io/tibia-map-data/floor-01-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-01-map.png) 19 | * [`https://tibiamaps.github.io/tibia-map-data/floor-02-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-02-map.png) 20 | * [`https://tibiamaps.github.io/tibia-map-data/floor-03-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-03-map.png) 21 | * [`https://tibiamaps.github.io/tibia-map-data/floor-04-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-04-map.png) 22 | * [`https://tibiamaps.github.io/tibia-map-data/floor-05-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-05-map.png) 23 | * [`https://tibiamaps.github.io/tibia-map-data/floor-06-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-06-map.png) 24 | * [`https://tibiamaps.github.io/tibia-map-data/floor-07-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-07-map.png) (i.e. ground floor) 25 | * [`https://tibiamaps.github.io/tibia-map-data/floor-08-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-08-map.png) 26 | * [`https://tibiamaps.github.io/tibia-map-data/floor-09-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-09-map.png) 27 | * [`https://tibiamaps.github.io/tibia-map-data/floor-10-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-10-map.png) 28 | * [`https://tibiamaps.github.io/tibia-map-data/floor-11-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-11-map.png) 29 | * [`https://tibiamaps.github.io/tibia-map-data/floor-12-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-12-map.png) 30 | * [`https://tibiamaps.github.io/tibia-map-data/floor-13-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-13-map.png) 31 | * [`https://tibiamaps.github.io/tibia-map-data/floor-14-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-14-map.png) 32 | * [`https://tibiamaps.github.io/tibia-map-data/floor-15-map.png`](https://tibiamaps.github.io/tibia-map-data/floor-15-map.png) 33 | 34 | That way, as soon as the maps are updated here, your project gets the same updates automatically. 35 | 36 | ## Contributing 37 | 38 | Did you discover an area that’s missing from our maps? [Let us know!](https://github.com/tibiamaps/tibia-map-data/issues/new) 39 | 40 | Not sure where to explore? [View the open issues.](https://github.com/tibiamaps/tibia-map-data/issues?q=is%3Aissue+is%3Aopen) 41 | 42 | Alternatively, if you’re comfortable using command-line tools and Git, you could follow the instructions below to work with the map files directly. Use the official Tibia client to update your maps, [convert the maps to PNGs and JSON](#map--png--json), and submit a pull request containing your changes. 43 | 44 | These maps are being used by [TibiaMaps.io](https://tibiamaps.io/) and [TibiaWiki](http://tibia.wikia.com/wiki/Mapper), so your contributions will be reflected there! 45 | 46 | ## Set up 47 | 48 | 1. Install the [expected](https://github.com/tibiamaps/tibia-map-data/blob/main/.nvmrc) version of [Node.js](https://nodejs.org/en/). 49 | 50 | 2. Install [the `tibia-maps` command-line utility](https://github.com/tibiamaps/tibia-maps-script): 51 | 52 | ```sh 53 | npm install -g github:tibiamaps/tibia-maps-script 54 | ``` 55 | 56 | 3. Clone this repository and `cd` to it in your favorite terminal. 57 | 58 | ## `minimap/*` → `data/*` 59 | 60 | _If you’ve added new markers or explored new areas in-game, and you want to contribute them to our map data, then this is what you’re looking for. Copy the new map files to the `minimap` directory before continuing._ 61 | 62 | To generate PNGs for the maps + pathfinding visualization and JSON for the marker data based on the map files in the `minimap` directory, run: 63 | 64 | ```sh 65 | tibia-maps --from-minimap=./minimap --output-dir=./data 66 | ``` 67 | 68 | The output is saved in the `data` directory. 69 | 70 | ## `data/*` → `minimap/*` 71 | 72 | _If you’ve modified marker data by editing the JSON files, and you’re looking to contribute those changes back to our map data, then this is what you’re looking for._ 73 | 74 | To generate Tibia-compatible `minimap/*` files based on the PNGs and JSON files in the `data` directory, run: 75 | 76 | ```sh 77 | tibia-maps --from-data=./data --output-dir=./minimap 78 | ``` 79 | 80 | The output is saved in the `minimap` directory. 81 | 82 | ## Maintainer 83 | 84 | | [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") | 85 | |---| 86 | | [Mathias Bynens](https://mathiasbynens.be/) | 87 | -------------------------------------------------------------------------------- /data-with-overlays/challenging/bounds.json: -------------------------------------------------------------------------------- 1 | { 2 | "xMin": 31744, 3 | "xMax": 34048, 4 | "yMin": 30976, 5 | "yMax": 32768, 6 | "zMin": 0, 7 | "zMax": 15, 8 | "width": 2560, 9 | "height": 2048, 10 | "floorIDs": [ 11 | "00", 12 | "01", 13 | "02", 14 | "03", 15 | "04", 16 | "05", 17 | "06", 18 | "07", 19 | "08", 20 | "09", 21 | "10", 22 | "11", 23 | "12", 24 | "13", 25 | "14", 26 | "15" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-00-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-00-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-01-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-01-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-02-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-02-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-03-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-03-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-04-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-04-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-05-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-05-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-06-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-06-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-07-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-07-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-08-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-08-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-09-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-09-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-10-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-10-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-11-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-11-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-12-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-12-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-13-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-13-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-14-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-14-map.png -------------------------------------------------------------------------------- /data-with-overlays/challenging/floor-15-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data-with-overlays/challenging/floor-15-map.png -------------------------------------------------------------------------------- /data/bounds.json: -------------------------------------------------------------------------------- 1 | { 2 | "xMin": 31744, 3 | "xMax": 34048, 4 | "yMin": 30976, 5 | "yMax": 32768, 6 | "zMin": 0, 7 | "zMax": 15, 8 | "width": 2560, 9 | "height": 2048, 10 | "floorIDs": [ 11 | "00", 12 | "01", 13 | "02", 14 | "03", 15 | "04", 16 | "05", 17 | "06", 18 | "07", 19 | "08", 20 | "09", 21 | "10", 22 | "11", 23 | "12", 24 | "13", 25 | "14", 26 | "15" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /data/floor-00-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-00-map.png -------------------------------------------------------------------------------- /data/floor-00-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-00-path.png -------------------------------------------------------------------------------- /data/floor-01-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-01-map.png -------------------------------------------------------------------------------- /data/floor-01-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-01-path.png -------------------------------------------------------------------------------- /data/floor-02-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-02-map.png -------------------------------------------------------------------------------- /data/floor-02-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-02-path.png -------------------------------------------------------------------------------- /data/floor-03-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-03-map.png -------------------------------------------------------------------------------- /data/floor-03-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-03-path.png -------------------------------------------------------------------------------- /data/floor-04-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-04-map.png -------------------------------------------------------------------------------- /data/floor-04-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-04-path.png -------------------------------------------------------------------------------- /data/floor-05-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-05-map.png -------------------------------------------------------------------------------- /data/floor-05-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-05-path.png -------------------------------------------------------------------------------- /data/floor-06-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-06-map.png -------------------------------------------------------------------------------- /data/floor-06-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-06-path.png -------------------------------------------------------------------------------- /data/floor-07-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-07-map.png -------------------------------------------------------------------------------- /data/floor-07-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-07-path.png -------------------------------------------------------------------------------- /data/floor-08-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-08-map.png -------------------------------------------------------------------------------- /data/floor-08-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-08-path.png -------------------------------------------------------------------------------- /data/floor-09-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-09-map.png -------------------------------------------------------------------------------- /data/floor-09-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-09-path.png -------------------------------------------------------------------------------- /data/floor-10-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-10-map.png -------------------------------------------------------------------------------- /data/floor-10-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-10-path.png -------------------------------------------------------------------------------- /data/floor-11-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-11-map.png -------------------------------------------------------------------------------- /data/floor-11-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-11-path.png -------------------------------------------------------------------------------- /data/floor-12-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-12-map.png -------------------------------------------------------------------------------- /data/floor-12-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-12-path.png -------------------------------------------------------------------------------- /data/floor-13-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-13-map.png -------------------------------------------------------------------------------- /data/floor-13-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-13-path.png -------------------------------------------------------------------------------- /data/floor-14-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-14-map.png -------------------------------------------------------------------------------- /data/floor-14-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-14-path.png -------------------------------------------------------------------------------- /data/floor-15-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-15-map.png -------------------------------------------------------------------------------- /data/floor-15-path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/data/floor-15-path.png -------------------------------------------------------------------------------- /extra/achievements/markers.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "The Grand Master of Verbal Debate II (book)", 4 | "icon": "star", 5 | "x": 33362, 6 | "y": 31319, 7 | "z": 3 8 | }, 9 | { 10 | "description": "The Grand Master of Verbal Debate I (book)", 11 | "icon": "star", 12 | "x": 33368, 13 | "y": 31348, 14 | "z": 3 15 | }, 16 | { 17 | "description": "The Grand Master of Verbal Debate IV (book)", 18 | "icon": "star", 19 | "x": 33372, 20 | "y": 31336, 21 | "z": 3 22 | }, 23 | { 24 | "description": "Ice flower", 25 | "icon": "checkmark", 26 | "x": 32113, 27 | "y": 31072, 28 | "z": 5 29 | }, 30 | { 31 | "description": "Ice flower", 32 | "icon": "checkmark", 33 | "x": 32119, 34 | "y": 31086, 35 | "z": 5 36 | }, 37 | { 38 | "description": "Ice flower", 39 | "icon": "checkmark", 40 | "x": 32123, 41 | "y": 31058, 42 | "z": 5 43 | }, 44 | { 45 | "description": "Ice flower", 46 | "icon": "checkmark", 47 | "x": 32134, 48 | "y": 31051, 49 | "z": 5 50 | }, 51 | { 52 | "description": "Ice flower", 53 | "icon": "checkmark", 54 | "x": 32144, 55 | "y": 31041, 56 | "z": 5 57 | }, 58 | { 59 | "description": "Ice flower", 60 | "icon": "checkmark", 61 | "x": 32150, 62 | "y": 31070, 63 | "z": 5 64 | }, 65 | { 66 | "description": "Ice flower", 67 | "icon": "checkmark", 68 | "x": 32153, 69 | "y": 31035, 70 | "z": 5 71 | }, 72 | { 73 | "description": "Ice flower", 74 | "icon": "checkmark", 75 | "x": 32153, 76 | "y": 31086, 77 | "z": 5 78 | }, 79 | { 80 | "description": "Ice flower", 81 | "icon": "checkmark", 82 | "x": 32164, 83 | "y": 31030, 84 | "z": 5 85 | }, 86 | { 87 | "description": "Ice flower", 88 | "icon": "checkmark", 89 | "x": 32187, 90 | "y": 31092, 91 | "z": 5 92 | }, 93 | { 94 | "description": "Ice flower", 95 | "icon": "checkmark", 96 | "x": 32192, 97 | "y": 31051, 98 | "z": 5 99 | }, 100 | { 101 | "description": "Ice flower", 102 | "icon": "checkmark", 103 | "x": 32203, 104 | "y": 31058, 105 | "z": 5 106 | }, 107 | { 108 | "description": "Ice flower", 109 | "icon": "checkmark", 110 | "x": 32218, 111 | "y": 31095, 112 | "z": 5 113 | }, 114 | { 115 | "description": "Ice flower", 116 | "icon": "checkmark", 117 | "x": 32253, 118 | "y": 31077, 119 | "z": 5 120 | }, 121 | { 122 | "description": "Ice flower", 123 | "icon": "checkmark", 124 | "x": 32256, 125 | "y": 31066, 126 | "z": 5 127 | }, 128 | { 129 | "description": "The Grand Master of Verbal Debate V (book)", 130 | "icon": "star", 131 | "x": 33366, 132 | "y": 31324, 133 | "z": 6 134 | }, 135 | { 136 | "description": "The Grand Master of Verbal Debate VI (book)", 137 | "icon": "star", 138 | "x": 33366, 139 | "y": 31327, 140 | "z": 6 141 | }, 142 | { 143 | "description": "The Grand Master of Verbal Debate III (book)", 144 | "icon": "star", 145 | "x": 33373, 146 | "y": 31348, 147 | "z": 6 148 | }, 149 | { 150 | "description": "Digging spot (Gold Digger achievement)", 151 | "icon": "star", 152 | "x": 33023, 153 | "y": 32865, 154 | "z": 7 155 | }, 156 | { 157 | "description": "Digging spot (Gold Digger achievement)", 158 | "icon": "star", 159 | "x": 33025, 160 | "y": 32870, 161 | "z": 7 162 | }, 163 | { 164 | "description": "Digging spot (Gold Digger achievement)", 165 | "icon": "star", 166 | "x": 33029, 167 | "y": 32866, 168 | "z": 7 169 | }, 170 | { 171 | "description": "Digging spot (Gold Digger achievement)", 172 | "icon": "star", 173 | "x": 33033, 174 | "y": 32826, 175 | "z": 7 176 | }, 177 | { 178 | "description": "Digging spot (Gold Digger achievement)", 179 | "icon": "star", 180 | "x": 33033, 181 | "y": 32832, 182 | "z": 7 183 | }, 184 | { 185 | "description": "Digging spot (Gold Digger achievement)", 186 | "icon": "star", 187 | "x": 33034, 188 | "y": 32862, 189 | "z": 7 190 | }, 191 | { 192 | "description": "Digging spot (Gold Digger achievement)", 193 | "icon": "star", 194 | "x": 33036, 195 | "y": 32830, 196 | "z": 7 197 | }, 198 | { 199 | "description": "Digging spot (Gold Digger achievement)", 200 | "icon": "star", 201 | "x": 33037, 202 | "y": 32869, 203 | "z": 7 204 | }, 205 | { 206 | "description": "Digging spot (Gold Digger achievement)", 207 | "icon": "star", 208 | "x": 33038, 209 | "y": 32818, 210 | "z": 7 211 | }, 212 | { 213 | "description": "Digging spot (Gold Digger achievement)", 214 | "icon": "star", 215 | "x": 33038, 216 | "y": 32870, 217 | "z": 7 218 | }, 219 | { 220 | "description": "Digging spot (Gold Digger achievement)", 221 | "icon": "star", 222 | "x": 33039, 223 | "y": 32828, 224 | "z": 7 225 | }, 226 | { 227 | "description": "Digging spot (Gold Digger achievement)", 228 | "icon": "star", 229 | "x": 33039, 230 | "y": 32835, 231 | "z": 7 232 | }, 233 | { 234 | "description": "Digging spot (Gold Digger achievement)", 235 | "icon": "star", 236 | "x": 33040, 237 | "y": 32812, 238 | "z": 7 239 | }, 240 | { 241 | "description": "Digging spot (Gold Digger achievement)", 242 | "icon": "star", 243 | "x": 33041, 244 | "y": 32814, 245 | "z": 7 246 | }, 247 | { 248 | "description": "Digging spot (Gold Digger achievement)", 249 | "icon": "star", 250 | "x": 33044, 251 | "y": 32859, 252 | "z": 7 253 | }, 254 | { 255 | "description": "Digging spot (Gold Digger achievement)", 256 | "icon": "star", 257 | "x": 33046, 258 | "y": 32773, 259 | "z": 7 260 | }, 261 | { 262 | "description": "Digging spot (Gold Digger achievement)", 263 | "icon": "star", 264 | "x": 33047, 265 | "y": 32838, 266 | "z": 7 267 | }, 268 | { 269 | "description": "Digging spot (Gold Digger achievement)", 270 | "icon": "star", 271 | "x": 33051, 272 | "y": 32757, 273 | "z": 7 274 | }, 275 | { 276 | "description": "Digging spot (Gold Digger achievement)", 277 | "icon": "star", 278 | "x": 33052, 279 | "y": 32823, 280 | "z": 7 281 | }, 282 | { 283 | "description": "Digging spot (Gold Digger achievement)", 284 | "icon": "star", 285 | "x": 33053, 286 | "y": 32763, 287 | "z": 7 288 | }, 289 | { 290 | "description": "Digging spot (Gold Digger achievement)", 291 | "icon": "star", 292 | "x": 33054, 293 | "y": 32814, 294 | "z": 7 295 | }, 296 | { 297 | "description": "Digging spot (Gold Digger achievement)", 298 | "icon": "star", 299 | "x": 33056, 300 | "y": 32823, 301 | "z": 7 302 | }, 303 | { 304 | "description": "Digging spot (Gold Digger achievement)", 305 | "icon": "star", 306 | "x": 33057, 307 | "y": 32737, 308 | "z": 7 309 | }, 310 | { 311 | "description": "Digging spot (Gold Digger achievement)", 312 | "icon": "star", 313 | "x": 33058, 314 | "y": 32820, 315 | "z": 7 316 | }, 317 | { 318 | "description": "Digging spot (Gold Digger achievement)", 319 | "icon": "star", 320 | "x": 33060, 321 | "y": 32800, 322 | "z": 7 323 | }, 324 | { 325 | "description": "Digging spot (Gold Digger achievement)", 326 | "icon": "star", 327 | "x": 33064, 328 | "y": 32799, 329 | "z": 7 330 | }, 331 | { 332 | "description": "Digging spot (Gold Digger achievement)", 333 | "icon": "star", 334 | "x": 33065, 335 | "y": 32738, 336 | "z": 7 337 | }, 338 | { 339 | "description": "Digging spot (Gold Digger achievement)", 340 | "icon": "star", 341 | "x": 33068, 342 | "y": 32801, 343 | "z": 7 344 | }, 345 | { 346 | "description": "Digging spot (Gold Digger achievement)", 347 | "icon": "star", 348 | "x": 33070, 349 | "y": 32796, 350 | "z": 7 351 | }, 352 | { 353 | "description": "Digging spot (Gold Digger achievement)", 354 | "icon": "star", 355 | "x": 33083, 356 | "y": 32779, 357 | "z": 7 358 | }, 359 | { 360 | "description": "Digging spot (Gold Digger achievement)", 361 | "icon": "star", 362 | "x": 33086, 363 | "y": 32778, 364 | "z": 7 365 | }, 366 | { 367 | "description": "Digging spot (Gold Digger achievement)", 368 | "icon": "star", 369 | "x": 33087, 370 | "y": 32781, 371 | "z": 7 372 | }, 373 | { 374 | "description": "Digging spot (Gold Digger achievement)", 375 | "icon": "star", 376 | "x": 33095, 377 | "y": 32702, 378 | "z": 7 379 | }, 380 | { 381 | "description": "Digging spot (Gold Digger achievement)", 382 | "icon": "star", 383 | "x": 33101, 384 | "y": 32770, 385 | "z": 7 386 | }, 387 | { 388 | "description": "Digging spot (Gold Digger achievement)", 389 | "icon": "star", 390 | "x": 33105, 391 | "y": 32706, 392 | "z": 7 393 | }, 394 | { 395 | "description": "Digging spot (Gold Digger achievement)", 396 | "icon": "star", 397 | "x": 33105, 398 | "y": 32766, 399 | "z": 7 400 | }, 401 | { 402 | "description": "Digging spot (Gold Digger achievement)", 403 | "icon": "star", 404 | "x": 33108, 405 | "y": 32726, 406 | "z": 7 407 | }, 408 | { 409 | "description": "Digging spot (Gold Digger achievement)", 410 | "icon": "star", 411 | "x": 33110, 412 | "y": 32730, 413 | "z": 7 414 | }, 415 | { 416 | "description": "Digging spot (Gold Digger achievement)", 417 | "icon": "star", 418 | "x": 33121, 419 | "y": 32611, 420 | "z": 7 421 | }, 422 | { 423 | "description": "Digging spot (Gold Digger achievement)", 424 | "icon": "star", 425 | "x": 33121, 426 | "y": 32650, 427 | "z": 7 428 | }, 429 | { 430 | "description": "Digging spot (Gold Digger achievement)", 431 | "icon": "star", 432 | "x": 33123, 433 | "y": 32606, 434 | "z": 7 435 | }, 436 | { 437 | "description": "Digging spot (Gold Digger achievement)", 438 | "icon": "star", 439 | "x": 33124, 440 | "y": 32766, 441 | "z": 7 442 | }, 443 | { 444 | "description": "Digging spot (Gold Digger achievement)", 445 | "icon": "star", 446 | "x": 33126, 447 | "y": 32644, 448 | "z": 7 449 | }, 450 | { 451 | "description": "Digging spot (Gold Digger achievement)", 452 | "icon": "star", 453 | "x": 33127, 454 | "y": 32570, 455 | "z": 7 456 | }, 457 | { 458 | "description": "Digging spot (Gold Digger achievement)", 459 | "icon": "star", 460 | "x": 33127, 461 | "y": 32578, 462 | "z": 7 463 | }, 464 | { 465 | "description": "Digging spot (Gold Digger achievement)", 466 | "icon": "star", 467 | "x": 33127, 468 | "y": 32637, 469 | "z": 7 470 | }, 471 | { 472 | "description": "Digging spot (Gold Digger achievement)", 473 | "icon": "star", 474 | "x": 33128, 475 | "y": 32609, 476 | "z": 7 477 | }, 478 | { 479 | "description": "Digging spot (Gold Digger achievement)", 480 | "icon": "star", 481 | "x": 33129, 482 | "y": 32642, 483 | "z": 7 484 | }, 485 | { 486 | "description": "Digging spot (Gold Digger achievement)", 487 | "icon": "star", 488 | "x": 33129, 489 | "y": 32665, 490 | "z": 7 491 | }, 492 | { 493 | "description": "Digging spot (Gold Digger achievement)", 494 | "icon": "star", 495 | "x": 33129, 496 | "y": 32705, 497 | "z": 7 498 | }, 499 | { 500 | "description": "Digging spot (Gold Digger achievement)", 501 | "icon": "star", 502 | "x": 33129, 503 | "y": 32710, 504 | "z": 7 505 | }, 506 | { 507 | "description": "Digging spot (Gold Digger achievement)", 508 | "icon": "star", 509 | "x": 33129, 510 | "y": 32762, 511 | "z": 7 512 | }, 513 | { 514 | "description": "Digging spot (Gold Digger achievement)", 515 | "icon": "star", 516 | "x": 33130, 517 | "y": 32574, 518 | "z": 7 519 | }, 520 | { 521 | "description": "Digging spot (Gold Digger achievement)", 522 | "icon": "star", 523 | "x": 33130, 524 | "y": 32635, 525 | "z": 7 526 | }, 527 | { 528 | "description": "Digging spot (Gold Digger achievement)", 529 | "icon": "star", 530 | "x": 33130, 531 | "y": 32639, 532 | "z": 7 533 | }, 534 | { 535 | "description": "Digging spot (Gold Digger achievement)", 536 | "icon": "star", 537 | "x": 33132, 538 | "y": 32570, 539 | "z": 7 540 | }, 541 | { 542 | "description": "Digging spot (Gold Digger achievement)", 543 | "icon": "star", 544 | "x": 33132, 545 | "y": 32579, 546 | "z": 7 547 | }, 548 | { 549 | "description": "Digging spot (Gold Digger achievement)", 550 | "icon": "star", 551 | "x": 33132, 552 | "y": 32647, 553 | "z": 7 554 | }, 555 | { 556 | "description": "Digging spot (Gold Digger achievement)", 557 | "icon": "star", 558 | "x": 33132, 559 | "y": 32711, 560 | "z": 7 561 | }, 562 | { 563 | "description": "Digging spot (Gold Digger achievement)", 564 | "icon": "star", 565 | "x": 33132, 566 | "y": 32715, 567 | "z": 7 568 | }, 569 | { 570 | "description": "Digging spot (Gold Digger achievement)", 571 | "icon": "star", 572 | "x": 33133, 573 | "y": 32636, 574 | "z": 7 575 | }, 576 | { 577 | "description": "Digging spot (Gold Digger achievement)", 578 | "icon": "star", 579 | "x": 33133, 580 | "y": 32707, 581 | "z": 7 582 | }, 583 | { 584 | "description": "Digging spot (Gold Digger achievement)", 585 | "icon": "star", 586 | "x": 33134, 587 | "y": 32634, 588 | "z": 7 589 | }, 590 | { 591 | "description": "Digging spot (Gold Digger achievement)", 592 | "icon": "star", 593 | "x": 33134, 594 | "y": 32640, 595 | "z": 7 596 | }, 597 | { 598 | "description": "Digging spot (Gold Digger achievement)", 599 | "icon": "star", 600 | "x": 33134, 601 | "y": 32764, 602 | "z": 7 603 | }, 604 | { 605 | "description": "Digging spot (Gold Digger achievement)", 606 | "icon": "star", 607 | "x": 33135, 608 | "y": 32567, 609 | "z": 7 610 | }, 611 | { 612 | "description": "Digging spot (Gold Digger achievement)", 613 | "icon": "star", 614 | "x": 33135, 615 | "y": 32704, 616 | "z": 7 617 | }, 618 | { 619 | "description": "Digging spot (Gold Digger achievement)", 620 | "icon": "star", 621 | "x": 33136, 622 | "y": 32646, 623 | "z": 7 624 | }, 625 | { 626 | "description": "Digging spot (Gold Digger achievement)", 627 | "icon": "star", 628 | "x": 33137, 629 | "y": 32642, 630 | "z": 7 631 | }, 632 | { 633 | "description": "Digging spot (Gold Digger achievement)", 634 | "icon": "star", 635 | "x": 33138, 636 | "y": 32570, 637 | "z": 7 638 | }, 639 | { 640 | "description": "Digging spot (Gold Digger achievement)", 641 | "icon": "star", 642 | "x": 33138, 643 | "y": 32714, 644 | "z": 7 645 | }, 646 | { 647 | "description": "Digging spot (Gold Digger achievement)", 648 | "icon": "star", 649 | "x": 33139, 650 | "y": 32636, 651 | "z": 7 652 | }, 653 | { 654 | "description": "Digging spot (Gold Digger achievement)", 655 | "icon": "star", 656 | "x": 33139, 657 | "y": 32649, 658 | "z": 7 659 | }, 660 | { 661 | "description": "Digging spot (Gold Digger achievement)", 662 | "icon": "star", 663 | "x": 33139, 664 | "y": 32664, 665 | "z": 7 666 | }, 667 | { 668 | "description": "Digging spot (Gold Digger achievement)", 669 | "icon": "star", 670 | "x": 33139, 671 | "y": 32706, 672 | "z": 7 673 | }, 674 | { 675 | "description": "Digging spot (Gold Digger achievement)", 676 | "icon": "star", 677 | "x": 33139, 678 | "y": 32711, 679 | "z": 7 680 | }, 681 | { 682 | "description": "Digging spot (Gold Digger achievement)", 683 | "icon": "star", 684 | "x": 33140, 685 | "y": 32567, 686 | "z": 7 687 | }, 688 | { 689 | "description": "Digging spot (Gold Digger achievement)", 690 | "icon": "star", 691 | "x": 33141, 692 | "y": 32577, 693 | "z": 7 694 | }, 695 | { 696 | "description": "Digging spot (Gold Digger achievement)", 697 | "icon": "star", 698 | "x": 33141, 699 | "y": 32580, 700 | "z": 7 701 | }, 702 | { 703 | "description": "Digging spot (Gold Digger achievement)", 704 | "icon": "star", 705 | "x": 33142, 706 | "y": 32650, 707 | "z": 7 708 | }, 709 | { 710 | "description": "Digging spot (Gold Digger achievement)", 711 | "icon": "star", 712 | "x": 33142, 713 | "y": 32656, 714 | "z": 7 715 | }, 716 | { 717 | "description": "Digging spot (Gold Digger achievement)", 718 | "icon": "star", 719 | "x": 33143, 720 | "y": 32763, 721 | "z": 7 722 | }, 723 | { 724 | "description": "Digging spot (Gold Digger achievement)", 725 | "icon": "star", 726 | "x": 33145, 727 | "y": 32693, 728 | "z": 7 729 | }, 730 | { 731 | "description": "Digging spot (Gold Digger achievement)", 732 | "icon": "star", 733 | "x": 33147, 734 | "y": 32759, 735 | "z": 7 736 | }, 737 | { 738 | "description": "Digging spot (Gold Digger achievement)", 739 | "icon": "star", 740 | "x": 33150, 741 | "y": 32750, 742 | "z": 7 743 | }, 744 | { 745 | "description": "Digging spot (Gold Digger achievement)", 746 | "icon": "star", 747 | "x": 33150, 748 | "y": 32755, 749 | "z": 7 750 | }, 751 | { 752 | "description": "Digging spot (Gold Digger achievement)", 753 | "icon": "star", 754 | "x": 33153, 755 | "y": 32636, 756 | "z": 7 757 | }, 758 | { 759 | "description": "Digging spot (Gold Digger achievement)", 760 | "icon": "star", 761 | "x": 33153, 762 | "y": 32750, 763 | "z": 7 764 | }, 765 | { 766 | "description": "Digging spot (Gold Digger achievement)", 767 | "icon": "star", 768 | "x": 33153, 769 | "y": 32757, 770 | "z": 7 771 | }, 772 | { 773 | "description": "Digging spot (Gold Digger achievement)", 774 | "icon": "star", 775 | "x": 33155, 776 | "y": 32637, 777 | "z": 7 778 | }, 779 | { 780 | "description": "Digging spot (Gold Digger achievement)", 781 | "icon": "star", 782 | "x": 33155, 783 | "y": 32639, 784 | "z": 7 785 | }, 786 | { 787 | "description": "Digging spot (Gold Digger achievement)", 788 | "icon": "star", 789 | "x": 33157, 790 | "y": 32634, 791 | "z": 7 792 | }, 793 | { 794 | "description": "Digging spot (Gold Digger achievement)", 795 | "icon": "star", 796 | "x": 33157, 797 | "y": 32641, 798 | "z": 7 799 | }, 800 | { 801 | "description": "Digging spot (Gold Digger achievement)", 802 | "icon": "star", 803 | "x": 33158, 804 | "y": 32638, 805 | "z": 7 806 | }, 807 | { 808 | "description": "Digging spot (Gold Digger achievement)", 809 | "icon": "star", 810 | "x": 33158, 811 | "y": 32642, 812 | "z": 7 813 | }, 814 | { 815 | "description": "Digging spot (Gold Digger achievement)", 816 | "icon": "star", 817 | "x": 33158, 818 | "y": 32752, 819 | "z": 7 820 | }, 821 | { 822 | "description": "Digging spot (Gold Digger achievement)", 823 | "icon": "star", 824 | "x": 33159, 825 | "y": 32759, 826 | "z": 7 827 | }, 828 | { 829 | "description": "Digging spot (Gold Digger achievement)", 830 | "icon": "star", 831 | "x": 33160, 832 | "y": 32638, 833 | "z": 7 834 | }, 835 | { 836 | "description": "Digging spot (Gold Digger achievement)", 837 | "icon": "star", 838 | "x": 33179, 839 | "y": 32562, 840 | "z": 7 841 | }, 842 | { 843 | "description": "Digging spot (Gold Digger achievement)", 844 | "icon": "star", 845 | "x": 33182, 846 | "y": 32764, 847 | "z": 7 848 | }, 849 | { 850 | "description": "Digging spot (Gold Digger achievement)", 851 | "icon": "star", 852 | "x": 33185, 853 | "y": 32766, 854 | "z": 7 855 | }, 856 | { 857 | "description": "Digging spot (Gold Digger achievement)", 858 | "icon": "star", 859 | "x": 33195, 860 | "y": 32770, 861 | "z": 7 862 | }, 863 | { 864 | "description": "Digging spot (Gold Digger achievement)", 865 | "icon": "star", 866 | "x": 33195, 867 | "y": 32773, 868 | "z": 7 869 | }, 870 | { 871 | "description": "Digging spot (Gold Digger achievement)", 872 | "icon": "star", 873 | "x": 33197, 874 | "y": 32776, 875 | "z": 7 876 | }, 877 | { 878 | "description": "Digging spot (Gold Digger achievement)", 879 | "icon": "star", 880 | "x": 33199, 881 | "y": 32772, 882 | "z": 7 883 | }, 884 | { 885 | "description": "Digging spot (Gold Digger achievement)", 886 | "icon": "star", 887 | "x": 33201, 888 | "y": 32591, 889 | "z": 7 890 | }, 891 | { 892 | "description": "Digging spot (Gold Digger achievement)", 893 | "icon": "star", 894 | "x": 33202, 895 | "y": 32769, 896 | "z": 7 897 | }, 898 | { 899 | "description": "Digging spot (Gold Digger achievement)", 900 | "icon": "star", 901 | "x": 33203, 902 | "y": 32584, 903 | "z": 7 904 | }, 905 | { 906 | "description": "Digging spot (Gold Digger achievement)", 907 | "icon": "star", 908 | "x": 33203, 909 | "y": 32592, 910 | "z": 7 911 | }, 912 | { 913 | "description": "Digging spot (Gold Digger achievement)", 914 | "icon": "star", 915 | "x": 33204, 916 | "y": 32588, 917 | "z": 7 918 | }, 919 | { 920 | "description": "Digging spot (Gold Digger achievement)", 921 | "icon": "star", 922 | "x": 33204, 923 | "y": 32595, 924 | "z": 7 925 | }, 926 | { 927 | "description": "Digging spot (Gold Digger achievement)", 928 | "icon": "star", 929 | "x": 33205, 930 | "y": 32549, 931 | "z": 7 932 | }, 933 | { 934 | "description": "Digging spot (Gold Digger achievement)", 935 | "icon": "star", 936 | "x": 33207, 937 | "y": 32590, 938 | "z": 7 939 | }, 940 | { 941 | "description": "Digging spot (Gold Digger achievement)", 942 | "icon": "star", 943 | "x": 33209, 944 | "y": 32596, 945 | "z": 7 946 | }, 947 | { 948 | "description": "Digging spot (Gold Digger achievement)", 949 | "icon": "star", 950 | "x": 33211, 951 | "y": 32586, 952 | "z": 7 953 | }, 954 | { 955 | "description": "Digging spot (Gold Digger achievement)", 956 | "icon": "star", 957 | "x": 33211, 958 | "y": 32593, 959 | "z": 7 960 | }, 961 | { 962 | "description": "Digging spot (Gold Digger achievement)", 963 | "icon": "star", 964 | "x": 33212, 965 | "y": 32590, 966 | "z": 7 967 | }, 968 | { 969 | "description": "Digging spot (Gold Digger achievement)", 970 | "icon": "star", 971 | "x": 33213, 972 | "y": 32546, 973 | "z": 7 974 | }, 975 | { 976 | "description": "Digging spot (Gold Digger achievement)", 977 | "icon": "star", 978 | "x": 33213, 979 | "y": 32595, 980 | "z": 7 981 | }, 982 | { 983 | "description": "Digging spot (Gold Digger achievement)", 984 | "icon": "star", 985 | "x": 33214, 986 | "y": 32550, 987 | "z": 7 988 | }, 989 | { 990 | "description": "Digging spot (Gold Digger achievement)", 991 | "icon": "star", 992 | "x": 33219, 993 | "y": 32708, 994 | "z": 7 995 | }, 996 | { 997 | "description": "Digging spot (Gold Digger achievement)", 998 | "icon": "star", 999 | "x": 33220, 1000 | "y": 32544, 1001 | "z": 7 1002 | }, 1003 | { 1004 | "description": "Digging spot (Gold Digger achievement)", 1005 | "icon": "star", 1006 | "x": 33220, 1007 | "y": 32698, 1008 | "z": 7 1009 | }, 1010 | { 1011 | "description": "Digging spot (Gold Digger achievement)", 1012 | "icon": "star", 1013 | "x": 33222, 1014 | "y": 32695, 1015 | "z": 7 1016 | }, 1017 | { 1018 | "description": "Digging spot (Gold Digger achievement)", 1019 | "icon": "star", 1020 | "x": 33224, 1021 | "y": 32710, 1022 | "z": 7 1023 | }, 1024 | { 1025 | "description": "Digging spot (Gold Digger achievement)", 1026 | "icon": "star", 1027 | "x": 33225, 1028 | "y": 32692, 1029 | "z": 7 1030 | }, 1031 | { 1032 | "description": "Digging spot (Gold Digger achievement)", 1033 | "icon": "star", 1034 | "x": 33225, 1035 | "y": 32697, 1036 | "z": 7 1037 | }, 1038 | { 1039 | "description": "Digging spot (Gold Digger achievement)", 1040 | "icon": "star", 1041 | "x": 33225, 1042 | "y": 32701, 1043 | "z": 7 1044 | }, 1045 | { 1046 | "description": "Digging spot (Gold Digger achievement)", 1047 | "icon": "star", 1048 | "x": 33225, 1049 | "y": 32704, 1050 | "z": 7 1051 | }, 1052 | { 1053 | "description": "Digging spot (Gold Digger achievement)", 1054 | "icon": "star", 1055 | "x": 33228, 1056 | "y": 32703, 1057 | "z": 7 1058 | }, 1059 | { 1060 | "description": "Digging spot (Gold Digger achievement)", 1061 | "icon": "star", 1062 | "x": 33228, 1063 | "y": 32712, 1064 | "z": 7 1065 | }, 1066 | { 1067 | "description": "Digging spot (Gold Digger achievement)", 1068 | "icon": "star", 1069 | "x": 33230, 1070 | "y": 32694, 1071 | "z": 7 1072 | }, 1073 | { 1074 | "description": "Digging spot (Gold Digger achievement)", 1075 | "icon": "star", 1076 | "x": 33232, 1077 | "y": 32706, 1078 | "z": 7 1079 | }, 1080 | { 1081 | "description": "Digging spot (Gold Digger achievement)", 1082 | "icon": "star", 1083 | "x": 33233, 1084 | "y": 32714, 1085 | "z": 7 1086 | }, 1087 | { 1088 | "description": "Digging spot (Gold Digger achievement)", 1089 | "icon": "star", 1090 | "x": 33234, 1091 | "y": 32701, 1092 | "z": 7 1093 | }, 1094 | { 1095 | "description": "Digging spot (Gold Digger achievement)", 1096 | "icon": "star", 1097 | "x": 33235, 1098 | "y": 32710, 1099 | "z": 7 1100 | }, 1101 | { 1102 | "description": "Digging spot (Gold Digger achievement)", 1103 | "icon": "star", 1104 | "x": 33236, 1105 | "y": 32693, 1106 | "z": 7 1107 | }, 1108 | { 1109 | "description": "Digging spot (Gold Digger achievement)", 1110 | "icon": "star", 1111 | "x": 33236, 1112 | "y": 32717, 1113 | "z": 7 1114 | }, 1115 | { 1116 | "description": "Digging spot (Gold Digger achievement)", 1117 | "icon": "star", 1118 | "x": 33237, 1119 | "y": 32714, 1120 | "z": 7 1121 | }, 1122 | { 1123 | "description": "Digging spot (Gold Digger achievement)", 1124 | "icon": "star", 1125 | "x": 33238, 1126 | "y": 32694, 1127 | "z": 7 1128 | }, 1129 | { 1130 | "description": "Digging spot (Gold Digger achievement)", 1131 | "icon": "star", 1132 | "x": 33238, 1133 | "y": 32706, 1134 | "z": 7 1135 | }, 1136 | { 1137 | "description": "Digging spot (Gold Digger achievement)", 1138 | "icon": "star", 1139 | "x": 33241, 1140 | "y": 32697, 1141 | "z": 7 1142 | }, 1143 | { 1144 | "description": "Digging spot (Gold Digger achievement)", 1145 | "icon": "star", 1146 | "x": 33241, 1147 | "y": 32709, 1148 | "z": 7 1149 | }, 1150 | { 1151 | "description": "Digging spot (Gold Digger achievement)", 1152 | "icon": "star", 1153 | "x": 33244, 1154 | "y": 32714, 1155 | "z": 7 1156 | }, 1157 | { 1158 | "description": "Digging spot (Gold Digger achievement)", 1159 | "icon": "star", 1160 | "x": 33245, 1161 | "y": 32702, 1162 | "z": 7 1163 | }, 1164 | { 1165 | "description": "Digging spot (Gold Digger achievement)", 1166 | "icon": "star", 1167 | "x": 33246, 1168 | "y": 32694, 1169 | "z": 7 1170 | }, 1171 | { 1172 | "description": "Digging spot (Gold Digger achievement)", 1173 | "icon": "star", 1174 | "x": 33246, 1175 | "y": 32699, 1176 | "z": 7 1177 | }, 1178 | { 1179 | "description": "Digging spot (Gold Digger achievement)", 1180 | "icon": "star", 1181 | "x": 33246, 1182 | "y": 32706, 1183 | "z": 7 1184 | }, 1185 | { 1186 | "description": "Digging spot (Gold Digger achievement)", 1187 | "icon": "star", 1188 | "x": 33246, 1189 | "y": 32709, 1190 | "z": 7 1191 | }, 1192 | { 1193 | "description": "Digging spot (Gold Digger achievement)", 1194 | "icon": "star", 1195 | "x": 33249, 1196 | "y": 32825, 1197 | "z": 7 1198 | }, 1199 | { 1200 | "description": "Digging spot (Gold Digger achievement)", 1201 | "icon": "star", 1202 | "x": 33250, 1203 | "y": 32822, 1204 | "z": 7 1205 | }, 1206 | { 1207 | "description": "Digging spot (Gold Digger achievement)", 1208 | "icon": "star", 1209 | "x": 33251, 1210 | "y": 32834, 1211 | "z": 7 1212 | }, 1213 | { 1214 | "description": "Digging spot (Gold Digger achievement)", 1215 | "icon": "star", 1216 | "x": 33251, 1217 | "y": 32835, 1218 | "z": 7 1219 | }, 1220 | { 1221 | "description": "Digging spot (Gold Digger achievement)", 1222 | "icon": "star", 1223 | "x": 33252, 1224 | "y": 32820, 1225 | "z": 7 1226 | }, 1227 | { 1228 | "description": "Digging spot (Gold Digger achievement)", 1229 | "icon": "star", 1230 | "x": 33252, 1231 | "y": 32827, 1232 | "z": 7 1233 | }, 1234 | { 1235 | "description": "Digging spot (Gold Digger achievement)", 1236 | "icon": "star", 1237 | "x": 33253, 1238 | "y": 32834, 1239 | "z": 7 1240 | }, 1241 | { 1242 | "description": "Digging spot (Gold Digger achievement)", 1243 | "icon": "star", 1244 | "x": 33255, 1245 | "y": 32832, 1246 | "z": 7 1247 | }, 1248 | { 1249 | "description": "Digging spot (Gold Digger achievement)", 1250 | "icon": "star", 1251 | "x": 33256, 1252 | "y": 32833, 1253 | "z": 7 1254 | }, 1255 | { 1256 | "description": "Digging spot (Gold Digger achievement)", 1257 | "icon": "star", 1258 | "x": 33257, 1259 | "y": 32824, 1260 | "z": 7 1261 | }, 1262 | { 1263 | "description": "Digging spot (Gold Digger achievement)", 1264 | "icon": "star", 1265 | "x": 33258, 1266 | "y": 32828, 1267 | "z": 7 1268 | }, 1269 | { 1270 | "description": "Digging spot (Gold Digger achievement)", 1271 | "icon": "star", 1272 | "x": 33259, 1273 | "y": 32831, 1274 | "z": 7 1275 | }, 1276 | { 1277 | "description": "Digging spot (Gold Digger achievement)", 1278 | "icon": "star", 1279 | "x": 33260, 1280 | "y": 32817, 1281 | "z": 7 1282 | }, 1283 | { 1284 | "description": "Digging spot (Gold Digger achievement)", 1285 | "icon": "star", 1286 | "x": 33260, 1287 | "y": 32824, 1288 | "z": 7 1289 | }, 1290 | { 1291 | "description": "Digging spot (Gold Digger achievement)", 1292 | "icon": "star", 1293 | "x": 33262, 1294 | "y": 32821, 1295 | "z": 7 1296 | }, 1297 | { 1298 | "description": "Digging spot (Gold Digger achievement)", 1299 | "icon": "star", 1300 | "x": 33262, 1301 | "y": 32832, 1302 | "z": 7 1303 | }, 1304 | { 1305 | "description": "Digging spot (Gold Digger achievement)", 1306 | "icon": "star", 1307 | "x": 33262, 1308 | "y": 32834, 1309 | "z": 7 1310 | }, 1311 | { 1312 | "description": "Digging spot (Gold Digger achievement)", 1313 | "icon": "star", 1314 | "x": 33263, 1315 | "y": 32729, 1316 | "z": 7 1317 | }, 1318 | { 1319 | "description": "Digging spot (Gold Digger achievement)", 1320 | "icon": "star", 1321 | "x": 33263, 1322 | "y": 32828, 1323 | "z": 7 1324 | }, 1325 | { 1326 | "description": "Digging spot (Gold Digger achievement)", 1327 | "icon": "star", 1328 | "x": 33264, 1329 | "y": 32608, 1330 | "z": 7 1331 | }, 1332 | { 1333 | "description": "Digging spot (Gold Digger achievement)", 1334 | "icon": "star", 1335 | "x": 33267, 1336 | "y": 32826, 1337 | "z": 7 1338 | }, 1339 | { 1340 | "description": "Digging spot (Gold Digger achievement)", 1341 | "icon": "star", 1342 | "x": 33268, 1343 | "y": 32609, 1344 | "z": 7 1345 | }, 1346 | { 1347 | "description": "Digging spot (Gold Digger achievement)", 1348 | "icon": "star", 1349 | "x": 33268, 1350 | "y": 32669, 1351 | "z": 7 1352 | }, 1353 | { 1354 | "description": "Digging spot (Gold Digger achievement)", 1355 | "icon": "star", 1356 | "x": 33269, 1357 | "y": 32743, 1358 | "z": 7 1359 | }, 1360 | { 1361 | "description": "Digging spot (Gold Digger achievement)", 1362 | "icon": "star", 1363 | "x": 33270, 1364 | "y": 32611, 1365 | "z": 7 1366 | }, 1367 | { 1368 | "description": "Digging spot (Gold Digger achievement)", 1369 | "icon": "star", 1370 | "x": 33270, 1371 | "y": 32666, 1372 | "z": 7 1373 | }, 1374 | { 1375 | "description": "Digging spot (Gold Digger achievement)", 1376 | "icon": "star", 1377 | "x": 33272, 1378 | "y": 32664, 1379 | "z": 7 1380 | }, 1381 | { 1382 | "description": "Digging spot (Gold Digger achievement)", 1383 | "icon": "star", 1384 | "x": 33272, 1385 | "y": 32666, 1386 | "z": 7 1387 | }, 1388 | { 1389 | "description": "Digging spot (Gold Digger achievement)", 1390 | "icon": "star", 1391 | "x": 33272, 1392 | "y": 32670, 1393 | "z": 7 1394 | }, 1395 | { 1396 | "description": "Digging spot (Gold Digger achievement)", 1397 | "icon": "star", 1398 | "x": 33272, 1399 | "y": 32739, 1400 | "z": 7 1401 | }, 1402 | { 1403 | "description": "Digging spot (Gold Digger achievement)", 1404 | "icon": "star", 1405 | "x": 33273, 1406 | "y": 32668, 1407 | "z": 7 1408 | }, 1409 | { 1410 | "description": "Digging spot (Gold Digger achievement)", 1411 | "icon": "star", 1412 | "x": 33273, 1413 | "y": 32746, 1414 | "z": 7 1415 | }, 1416 | { 1417 | "description": "Digging spot (Gold Digger achievement)", 1418 | "icon": "star", 1419 | "x": 33274, 1420 | "y": 32740, 1421 | "z": 7 1422 | }, 1423 | { 1424 | "description": "Digging spot (Gold Digger achievement)", 1425 | "icon": "star", 1426 | "x": 33274, 1427 | "y": 32743, 1428 | "z": 7 1429 | }, 1430 | { 1431 | "description": "Digging spot (Gold Digger achievement)", 1432 | "icon": "star", 1433 | "x": 33275, 1434 | "y": 32665, 1435 | "z": 7 1436 | }, 1437 | { 1438 | "description": "Digging spot (Gold Digger achievement)", 1439 | "icon": "star", 1440 | "x": 33275, 1441 | "y": 32745, 1442 | "z": 7 1443 | }, 1444 | { 1445 | "description": "Digging spot (Gold Digger achievement)", 1446 | "icon": "star", 1447 | "x": 33276, 1448 | "y": 32612, 1449 | "z": 7 1450 | }, 1451 | { 1452 | "description": "Digging spot (Gold Digger achievement)", 1453 | "icon": "star", 1454 | "x": 33276, 1455 | "y": 32669, 1456 | "z": 7 1457 | }, 1458 | { 1459 | "description": "Digging spot (Gold Digger achievement)", 1460 | "icon": "star", 1461 | "x": 33276, 1462 | "y": 32735, 1463 | "z": 7 1464 | }, 1465 | { 1466 | "description": "Digging spot (Gold Digger achievement)", 1467 | "icon": "star", 1468 | "x": 33276, 1469 | "y": 32737, 1470 | "z": 7 1471 | }, 1472 | { 1473 | "description": "Digging spot (Gold Digger achievement)", 1474 | "icon": "star", 1475 | "x": 33277, 1476 | "y": 32664, 1477 | "z": 7 1478 | }, 1479 | { 1480 | "description": "Digging spot (Gold Digger achievement)", 1481 | "icon": "star", 1482 | "x": 33277, 1483 | "y": 32670, 1484 | "z": 7 1485 | }, 1486 | { 1487 | "description": "Digging spot (Gold Digger achievement)", 1488 | "icon": "star", 1489 | "x": 33277, 1490 | "y": 32742, 1491 | "z": 7 1492 | }, 1493 | { 1494 | "description": "Digging spot (Gold Digger achievement)", 1495 | "icon": "star", 1496 | "x": 33278, 1497 | "y": 32605, 1498 | "z": 7 1499 | }, 1500 | { 1501 | "description": "Digging spot (Gold Digger achievement)", 1502 | "icon": "star", 1503 | "x": 33278, 1504 | "y": 32738, 1505 | "z": 7 1506 | }, 1507 | { 1508 | "description": "Digging spot (Gold Digger achievement)", 1509 | "icon": "star", 1510 | "x": 33278, 1511 | "y": 32750, 1512 | "z": 7 1513 | }, 1514 | { 1515 | "description": "Digging spot (Gold Digger achievement)", 1516 | "icon": "star", 1517 | "x": 33279, 1518 | "y": 32613, 1519 | "z": 7 1520 | }, 1521 | { 1522 | "description": "Digging spot (Gold Digger achievement)", 1523 | "icon": "star", 1524 | "x": 33280, 1525 | "y": 32744, 1526 | "z": 7 1527 | }, 1528 | { 1529 | "description": "Digging spot (Gold Digger achievement)", 1530 | "icon": "star", 1531 | "x": 33281, 1532 | "y": 32607, 1533 | "z": 7 1534 | }, 1535 | { 1536 | "description": "Digging spot (Gold Digger achievement)", 1537 | "icon": "star", 1538 | "x": 33281, 1539 | "y": 32747, 1540 | "z": 7 1541 | }, 1542 | { 1543 | "description": "Digging spot (Gold Digger achievement)", 1544 | "icon": "star", 1545 | "x": 33281, 1546 | "y": 32749, 1547 | "z": 7 1548 | }, 1549 | { 1550 | "description": "Digging spot (Gold Digger achievement)", 1551 | "icon": "star", 1552 | "x": 33282, 1553 | "y": 32741, 1554 | "z": 7 1555 | }, 1556 | { 1557 | "description": "Digging spot (Gold Digger achievement)", 1558 | "icon": "star", 1559 | "x": 33283, 1560 | "y": 32735, 1561 | "z": 7 1562 | }, 1563 | { 1564 | "description": "Digging spot (Gold Digger achievement)", 1565 | "icon": "star", 1566 | "x": 33283, 1567 | "y": 32744, 1568 | "z": 7 1569 | }, 1570 | { 1571 | "description": "Digging spot (Gold Digger achievement)", 1572 | "icon": "star", 1573 | "x": 33283, 1574 | "y": 32749, 1575 | "z": 7 1576 | }, 1577 | { 1578 | "description": "Digging spot (Gold Digger achievement)", 1579 | "icon": "star", 1580 | "x": 33283, 1581 | "y": 32752, 1582 | "z": 7 1583 | }, 1584 | { 1585 | "description": "Digging spot (Gold Digger achievement)", 1586 | "icon": "star", 1587 | "x": 33284, 1588 | "y": 32743, 1589 | "z": 7 1590 | }, 1591 | { 1592 | "description": "Digging spot (Gold Digger achievement)", 1593 | "icon": "star", 1594 | "x": 33285, 1595 | "y": 32738, 1596 | "z": 7 1597 | }, 1598 | { 1599 | "description": "Digging spot (Gold Digger achievement)", 1600 | "icon": "star", 1601 | "x": 33286, 1602 | "y": 32736, 1603 | "z": 7 1604 | }, 1605 | { 1606 | "description": "Digging spot (Gold Digger achievement)", 1607 | "icon": "star", 1608 | "x": 33286, 1609 | "y": 32742, 1610 | "z": 7 1611 | }, 1612 | { 1613 | "description": "Digging spot (Gold Digger achievement)", 1614 | "icon": "star", 1615 | "x": 33286, 1616 | "y": 32747, 1617 | "z": 7 1618 | }, 1619 | { 1620 | "description": "Digging spot (Gold Digger achievement)", 1621 | "icon": "star", 1622 | "x": 33287, 1623 | "y": 32740, 1624 | "z": 7 1625 | }, 1626 | { 1627 | "description": "Digging spot (Gold Digger achievement)", 1628 | "icon": "star", 1629 | "x": 33287, 1630 | "y": 32749, 1631 | "z": 7 1632 | }, 1633 | { 1634 | "description": "Digging spot (Gold Digger achievement)", 1635 | "icon": "star", 1636 | "x": 33291, 1637 | "y": 32746, 1638 | "z": 7 1639 | }, 1640 | { 1641 | "description": "The Grand Master of Verbal Debate VIII (book)", 1642 | "icon": "star", 1643 | "x": 33373, 1644 | "y": 31350, 1645 | "z": 7 1646 | }, 1647 | { 1648 | "description": "The Grand Master of Verbal Debate VII (book)", 1649 | "icon": "star", 1650 | "x": 33387, 1651 | "y": 31285, 1652 | "z": 7 1653 | }, 1654 | { 1655 | "description": "The Grand Master of Verbal Debate IX (book)", 1656 | "icon": "star", 1657 | "x": 33369, 1658 | "y": 31343, 1659 | "z": 8 1660 | } 1661 | ] 1662 | -------------------------------------------------------------------------------- /extra/anniversary/markers.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "Piñata dragon", 4 | "icon": "star", 5 | "x": 32529, 6 | "y": 32088, 7 | "z": 6 8 | }, 9 | { 10 | "description": "Piñata dragon", 11 | "icon": "star", 12 | "x": 32225, 13 | "y": 32114, 14 | "z": 7 15 | }, 16 | { 17 | "description": "Piñata dragon", 18 | "icon": "star", 19 | "x": 32232, 20 | "y": 32124, 21 | "z": 7 22 | }, 23 | { 24 | "description": "Piñata dragon", 25 | "icon": "star", 26 | "x": 32236, 27 | "y": 32345, 28 | "z": 7 29 | }, 30 | { 31 | "description": "Piñata dragon", 32 | "icon": "star", 33 | "x": 32238, 34 | "y": 32332, 35 | "z": 7 36 | }, 37 | { 38 | "description": "Piñata dragon", 39 | "icon": "star", 40 | "x": 32240, 41 | "y": 32277, 42 | "z": 7 43 | }, 44 | { 45 | "description": "Piñata dragon", 46 | "icon": "star", 47 | "x": 32243, 48 | "y": 32113, 49 | "z": 7 50 | }, 51 | { 52 | "description": "Piñata dragon", 53 | "icon": "star", 54 | "x": 32248, 55 | "y": 32366, 56 | "z": 7 57 | }, 58 | { 59 | "description": "Piñata dragon", 60 | "icon": "star", 61 | "x": 32260, 62 | "y": 32116, 63 | "z": 7 64 | }, 65 | { 66 | "description": "Piñata dragon", 67 | "icon": "star", 68 | "x": 32263, 69 | "y": 32325, 70 | "z": 7 71 | }, 72 | { 73 | "description": "Piñata dragon", 74 | "icon": "star", 75 | "x": 32264, 76 | "y": 32306, 77 | "z": 7 78 | }, 79 | { 80 | "description": "Piñata dragon", 81 | "icon": "star", 82 | "x": 32267, 83 | "y": 32354, 84 | "z": 7 85 | }, 86 | { 87 | "description": "Piñata dragon", 88 | "icon": "star", 89 | "x": 32269, 90 | "y": 32156, 91 | "z": 7 92 | }, 93 | { 94 | "description": "Piñata dragon", 95 | "icon": "star", 96 | "x": 32271, 97 | "y": 32377, 98 | "z": 7 99 | }, 100 | { 101 | "description": "Piñata dragon", 102 | "icon": "star", 103 | "x": 32276, 104 | "y": 32280, 105 | "z": 7 106 | }, 107 | { 108 | "description": "Piñata dragon", 109 | "icon": "star", 110 | "x": 32277, 111 | "y": 32138, 112 | "z": 7 113 | }, 114 | { 115 | "description": "Piñata dragon", 116 | "icon": "star", 117 | "x": 32292, 118 | "y": 32277, 119 | "z": 7 120 | }, 121 | { 122 | "description": "Piñata dragon", 123 | "icon": "star", 124 | "x": 32292, 125 | "y": 32357, 126 | "z": 7 127 | }, 128 | { 129 | "description": "Piñata dragon", 130 | "icon": "star", 131 | "x": 32293, 132 | "y": 32115, 133 | "z": 7 134 | }, 135 | { 136 | "description": "Piñata dragon", 137 | "icon": "star", 138 | "x": 32296, 139 | "y": 32170, 140 | "z": 7 141 | }, 142 | { 143 | "description": "Piñata dragon", 144 | "icon": "star", 145 | "x": 32300, 146 | "y": 32326, 147 | "z": 7 148 | }, 149 | { 150 | "description": "Piñata dragon", 151 | "icon": "star", 152 | "x": 32302, 153 | "y": 32378, 154 | "z": 7 155 | }, 156 | { 157 | "description": "Piñata dragon", 158 | "icon": "star", 159 | "x": 32313, 160 | "y": 32133, 161 | "z": 7 162 | }, 163 | { 164 | "description": "Piñata dragon", 165 | "icon": "star", 166 | "x": 32319, 167 | "y": 32402, 168 | "z": 7 169 | }, 170 | { 171 | "description": "Piñata dragon", 172 | "icon": "star", 173 | "x": 32321, 174 | "y": 32411, 175 | "z": 7 176 | }, 177 | { 178 | "description": "Piñata dragon", 179 | "icon": "star", 180 | "x": 32322, 181 | "y": 32157, 182 | "z": 7 183 | }, 184 | { 185 | "description": "Piñata dragon", 186 | "icon": "star", 187 | "x": 32327, 188 | "y": 32353, 189 | "z": 7 190 | }, 191 | { 192 | "description": "Piñata dragon", 193 | "icon": "star", 194 | "x": 32328, 195 | "y": 32340, 196 | "z": 7 197 | }, 198 | { 199 | "description": "Piñata dragon", 200 | "icon": "star", 201 | "x": 32333, 202 | "y": 32315, 203 | "z": 7 204 | }, 205 | { 206 | "description": "Piñata dragon", 207 | "icon": "star", 208 | "x": 32333, 209 | "y": 32383, 210 | "z": 7 211 | }, 212 | { 213 | "description": "Piñata dragon", 214 | "icon": "star", 215 | "x": 32340, 216 | "y": 32117, 217 | "z": 7 218 | }, 219 | { 220 | "description": "Piñata dragon", 221 | "icon": "star", 222 | "x": 32345, 223 | "y": 32154, 224 | "z": 7 225 | }, 226 | { 227 | "description": "Piñata dragon", 228 | "icon": "star", 229 | "x": 32349, 230 | "y": 32411, 231 | "z": 7 232 | }, 233 | { 234 | "description": "Piñata dragon", 235 | "icon": "star", 236 | "x": 32353, 237 | "y": 32331, 238 | "z": 7 239 | }, 240 | { 241 | "description": "Piñata dragon", 242 | "icon": "star", 243 | "x": 32360, 244 | "y": 32315, 245 | "z": 7 246 | }, 247 | { 248 | "description": "Piñata dragon", 249 | "icon": "star", 250 | "x": 32361, 251 | "y": 32385, 252 | "z": 7 253 | }, 254 | { 255 | "description": "Piñata dragon", 256 | "icon": "star", 257 | "x": 32368, 258 | "y": 32346, 259 | "z": 7 260 | }, 261 | { 262 | "description": "Piñata dragon", 263 | "icon": "star", 264 | "x": 32368, 265 | "y": 32370, 266 | "z": 7 267 | }, 268 | { 269 | "description": "Piñata dragon", 270 | "icon": "star", 271 | "x": 32372, 272 | "y": 32107, 273 | "z": 7 274 | }, 275 | { 276 | "description": "Piñata dragon", 277 | "icon": "star", 278 | "x": 32373, 279 | "y": 32422, 280 | "z": 7 281 | }, 282 | { 283 | "description": "Piñata dragon", 284 | "icon": "star", 285 | "x": 32383, 286 | "y": 32373, 287 | "z": 7 288 | }, 289 | { 290 | "description": "Piñata dragon", 291 | "icon": "star", 292 | "x": 32384, 293 | "y": 32119, 294 | "z": 7 295 | }, 296 | { 297 | "description": "Piñata dragon", 298 | "icon": "star", 299 | "x": 32386, 300 | "y": 32406, 301 | "z": 7 302 | }, 303 | { 304 | "description": "Piñata dragon", 305 | "icon": "star", 306 | "x": 32389, 307 | "y": 32301, 308 | "z": 7 309 | }, 310 | { 311 | "description": "Piñata dragon", 312 | "icon": "star", 313 | "x": 32390, 314 | "y": 32324, 315 | "z": 7 316 | }, 317 | { 318 | "description": "Piñata dragon", 319 | "icon": "star", 320 | "x": 32393, 321 | "y": 32391, 322 | "z": 7 323 | }, 324 | { 325 | "description": "Piñata dragon", 326 | "icon": "star", 327 | "x": 32399, 328 | "y": 32106, 329 | "z": 7 330 | }, 331 | { 332 | "description": "Piñata dragon", 333 | "icon": "star", 334 | "x": 32413, 335 | "y": 32272, 336 | "z": 7 337 | }, 338 | { 339 | "description": "Piñata dragon", 340 | "icon": "star", 341 | "x": 32417, 342 | "y": 32335, 343 | "z": 7 344 | }, 345 | { 346 | "description": "Piñata dragon", 347 | "icon": "star", 348 | "x": 32417, 349 | "y": 32371, 350 | "z": 7 351 | }, 352 | { 353 | "description": "Piñata dragon", 354 | "icon": "star", 355 | "x": 32418, 356 | "y": 32355, 357 | "z": 7 358 | }, 359 | { 360 | "description": "Piñata dragon", 361 | "icon": "star", 362 | "x": 32424, 363 | "y": 32099, 364 | "z": 7 365 | }, 366 | { 367 | "description": "Piñata dragon", 368 | "icon": "star", 369 | "x": 32429, 370 | "y": 32394, 371 | "z": 7 372 | }, 373 | { 374 | "description": "Piñata dragon", 375 | "icon": "star", 376 | "x": 32430, 377 | "y": 32136, 378 | "z": 7 379 | }, 380 | { 381 | "description": "Piñata dragon", 382 | "icon": "star", 383 | "x": 32439, 384 | "y": 32114, 385 | "z": 7 386 | }, 387 | { 388 | "description": "Piñata dragon", 389 | "icon": "star", 390 | "x": 32445, 391 | "y": 32289, 392 | "z": 7 393 | }, 394 | { 395 | "description": "Piñata dragon", 396 | "icon": "star", 397 | "x": 32445, 398 | "y": 32334, 399 | "z": 7 400 | }, 401 | { 402 | "description": "Piñata dragon", 403 | "icon": "star", 404 | "x": 32453, 405 | "y": 32158, 406 | "z": 7 407 | }, 408 | { 409 | "description": "Piñata dragon", 410 | "icon": "star", 411 | "x": 32454, 412 | "y": 32187, 413 | "z": 7 414 | }, 415 | { 416 | "description": "Piñata dragon", 417 | "icon": "star", 418 | "x": 32457, 419 | "y": 32308, 420 | "z": 7 421 | }, 422 | { 423 | "description": "Piñata dragon", 424 | "icon": "star", 425 | "x": 32467, 426 | "y": 32107, 427 | "z": 7 428 | }, 429 | { 430 | "description": "Piñata dragon", 431 | "icon": "star", 432 | "x": 32468, 433 | "y": 32271, 434 | "z": 7 435 | }, 436 | { 437 | "description": "Piñata dragon", 438 | "icon": "star", 439 | "x": 32479, 440 | "y": 32217, 441 | "z": 7 442 | }, 443 | { 444 | "description": "Piñata dragon", 445 | "icon": "star", 446 | "x": 32481, 447 | "y": 32110, 448 | "z": 7 449 | }, 450 | { 451 | "description": "Piñata dragon", 452 | "icon": "star", 453 | "x": 32481, 454 | "y": 32174, 455 | "z": 7 456 | }, 457 | { 458 | "description": "Piñata dragon", 459 | "icon": "star", 460 | "x": 32486, 461 | "y": 32250, 462 | "z": 7 463 | }, 464 | { 465 | "description": "Piñata dragon", 466 | "icon": "star", 467 | "x": 32498, 468 | "y": 32142, 469 | "z": 7 470 | }, 471 | { 472 | "description": "Piñata dragon", 473 | "icon": "star", 474 | "x": 32503, 475 | "y": 32194, 476 | "z": 7 477 | }, 478 | { 479 | "description": "Piñata dragon", 480 | "icon": "star", 481 | "x": 32505, 482 | "y": 32236, 483 | "z": 7 484 | }, 485 | { 486 | "description": "Piñata dragon", 487 | "icon": "star", 488 | "x": 32515, 489 | "y": 32180, 490 | "z": 7 491 | }, 492 | { 493 | "description": "Piñata dragon", 494 | "icon": "star", 495 | "x": 32517, 496 | "y": 32105, 497 | "z": 7 498 | }, 499 | { 500 | "description": "Piñata dragon", 501 | "icon": "star", 502 | "x": 32517, 503 | "y": 32141, 504 | "z": 7 505 | }, 506 | { 507 | "description": "Piñata dragon", 508 | "icon": "star", 509 | "x": 32523, 510 | "y": 32161, 511 | "z": 7 512 | } 513 | ] 514 | -------------------------------------------------------------------------------- /extra/devovorga/markers.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "Teneshpar (Rise of Devovorga)", 4 | "icon": "sword", 5 | "x": 31965, 6 | "y": 31582, 7 | "z": 7 8 | }, 9 | { 10 | "description": "Phrodomo (Rise of Devovorga)", 11 | "icon": "sword", 12 | "x": 32169, 13 | "y": 31829, 14 | "z": 7 15 | }, 16 | { 17 | "description": "Anmothra (Rise of Devovorga)", 18 | "icon": "sword", 19 | "x": 32629, 20 | "y": 32329, 21 | "z": 7 22 | }, 23 | { 24 | "description": "Irahsae (Rise of Devovorga)", 25 | "icon": "sword", 26 | "x": 32976, 27 | "y": 32429, 28 | "z": 7 29 | }, 30 | { 31 | "description": "Chikhaton (Rise of Devovorga)", 32 | "icon": "sword", 33 | "x": 33325, 34 | "y": 31741, 35 | "z": 7 36 | } 37 | ] 38 | -------------------------------------------------------------------------------- /extra/ignore/markers.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "Northern Safe Trade Room", 4 | "icon": "lock", 5 | "x": 32057, 6 | "y": 31883, 7 | "z": 3 8 | }, 9 | { 10 | "description": "Southern Safe Trade Room", 11 | "icon": "lock", 12 | "x": 32057, 13 | "y": 31897, 14 | "z": 3 15 | }, 16 | { 17 | "description": "To the Shops, Temple, Bank and Vocation Gates", 18 | "icon": "down", 19 | "x": 32065, 20 | "y": 31890, 21 | "z": 3 22 | }, 23 | { 24 | "description": "Druid and Sorcerer Spells", 25 | "icon": "star", 26 | "x": 32057, 27 | "y": 31882, 28 | "z": 4 29 | }, 30 | { 31 | "description": "To the Safe Trade Rooms", 32 | "icon": "up", 33 | "x": 32065, 34 | "y": 31890, 35 | "z": 4 36 | }, 37 | { 38 | "description": "Knight and Paladin Spells", 39 | "icon": "star", 40 | "x": 32072, 41 | "y": 31882, 42 | "z": 4 43 | }, 44 | { 45 | "description": "Mr Morris' Room", 46 | "icon": "!", 47 | "x": 32072, 48 | "y": 31899, 49 | "z": 4 50 | }, 51 | { 52 | "description": "To the Shops, Temple and Vocation Gates", 53 | "icon": "down", 54 | "x": 32073, 55 | "y": 31895, 56 | "z": 4 57 | }, 58 | { 59 | "description": "Ship to the Mainland", 60 | "icon": "flag", 61 | "x": 32033, 62 | "y": 31874, 63 | "z": 5 64 | }, 65 | { 66 | "description": "Paladin's Gate", 67 | "icon": "red left", 68 | "x": 32055, 69 | "y": 31890, 70 | "z": 5 71 | }, 72 | { 73 | "description": "Weapons and Armor", 74 | "icon": "bag", 75 | "x": 32056, 76 | "y": 31881, 77 | "z": 5 78 | }, 79 | { 80 | "description": "Potions and Magic Store", 81 | "icon": "bag", 82 | "x": 32057, 83 | "y": 31900, 84 | "z": 5 85 | }, 86 | { 87 | "description": "Food and Equipment", 88 | "icon": "bag", 89 | "x": 32060, 90 | "y": 31881, 91 | "z": 5 92 | }, 93 | { 94 | "description": "Druid's Gate", 95 | "icon": "red up", 96 | "x": 32064, 97 | "y": 31880, 98 | "z": 5 99 | }, 100 | { 101 | "description": "Sorcerer's Gate", 102 | "icon": "red down", 103 | "x": 32064, 104 | "y": 31901, 105 | "z": 5 106 | }, 107 | { 108 | "description": "To the Temple and Vocation Doors", 109 | "icon": "cross", 110 | "x": 32065, 111 | "y": 31888, 112 | "z": 5 113 | }, 114 | { 115 | "description": "Adventurer's Bank", 116 | "icon": "$", 117 | "x": 32071, 118 | "y": 31881, 119 | "z": 5 120 | }, 121 | { 122 | "description": "General Information and Creature Products", 123 | "icon": "!", 124 | "x": 32071, 125 | "y": 31900, 126 | "z": 5 127 | }, 128 | { 129 | "description": "To the Spell Trainers, Safe Trade Rooms and Mr Morris", 130 | "icon": "up", 131 | "x": 32074, 132 | "y": 31895, 133 | "z": 5 134 | }, 135 | { 136 | "description": "Knight's Gate", 137 | "icon": "red right", 138 | "x": 32075, 139 | "y": 31891, 140 | "z": 5 141 | }, 142 | { 143 | "description": "To the Mainland", 144 | "icon": "red left", 145 | "x": 32048, 146 | "y": 31878, 147 | "z": 6 148 | }, 149 | { 150 | "description": "Sorcerer Vocation Door", 151 | "icon": "star", 152 | "x": 32055, 153 | "y": 31886, 154 | "z": 6 155 | }, 156 | { 157 | "description": "Paladin Vocation Door", 158 | "icon": "star", 159 | "x": 32059, 160 | "y": 31886, 161 | "z": 6 162 | }, 163 | { 164 | "description": "Alternate Bank", 165 | "icon": "$", 166 | "x": 32064, 167 | "y": 31881, 168 | "z": 6 169 | }, 170 | { 171 | "description": "Dawnport Temple", 172 | "icon": "cross", 173 | "x": 32064, 174 | "y": 31892, 175 | "z": 6 176 | }, 177 | { 178 | "description": "Knight Vocation Door", 179 | "icon": "star", 180 | "x": 32069, 181 | "y": 31886, 182 | "z": 6 183 | }, 184 | { 185 | "description": "Druid Vocation Door", 186 | "icon": "star", 187 | "x": 32073, 188 | "y": 31886, 189 | "z": 6 190 | } 191 | ] 192 | -------------------------------------------------------------------------------- /extra/lightbearer/markers.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "Lightbringer’s basin", 4 | "icon": "star", 5 | "x": 32080, 6 | "y": 31122, 7 | "z": 1 8 | }, 9 | { 10 | "description": "Lightbringer’s basin", 11 | "icon": "star", 12 | "x": 31895, 13 | "y": 32586, 14 | "z": 7 15 | }, 16 | { 17 | "description": "Lightbringer’s basin", 18 | "icon": "star", 19 | "x": 32827, 20 | "y": 32362, 21 | "z": 7 22 | }, 23 | { 24 | "description": "Lightbringer’s basin", 25 | "icon": "star", 26 | "x": 33021, 27 | "y": 32557, 28 | "z": 7 29 | }, 30 | { 31 | "description": "Lightbringer’s basin", 32 | "icon": "star", 33 | "x": 32824, 34 | "y": 31032, 35 | "z": 8 36 | }, 37 | { 38 | "description": "Lightbringer’s basin", 39 | "icon": "star", 40 | "x": 33015, 41 | "y": 32384, 42 | "z": 11 43 | }, 44 | { 45 | "description": "Lightbringer’s basin", 46 | "icon": "star", 47 | "x": 33193, 48 | "y": 32690, 49 | "z": 11 50 | }, 51 | { 52 | "description": "Lightbringer’s basin", 53 | "icon": "star", 54 | "x": 33231, 55 | "y": 31639, 56 | "z": 13 57 | }, 58 | { 59 | "description": "Lightbringer’s basin", 60 | "icon": "star", 61 | "x": 32599, 62 | "y": 31899, 63 | "z": 14 64 | }, 65 | { 66 | "description": "Lightbringer’s basin", 67 | "icon": "star", 68 | "x": 32752, 69 | "y": 31638, 70 | "z": 14 71 | } 72 | ] 73 | -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_32256_32256_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_32256_32256_7.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33536_30976_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33536_30976_1.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33536_30976_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33536_30976_2.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33536_30976_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33536_30976_3.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33536_30976_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33536_30976_4.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33536_30976_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33536_30976_5.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33536_30976_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33536_30976_6.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33536_30976_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33536_30976_7.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33536_30976_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33536_30976_8.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33536_30976_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33536_30976_9.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33792_30976_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33792_30976_1.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33792_30976_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33792_30976_2.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33792_30976_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33792_30976_3.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33792_30976_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33792_30976_4.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33792_30976_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33792_30976_5.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33792_30976_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33792_30976_6.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33792_30976_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33792_30976_7.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33792_30976_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33792_30976_8.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_Color_33792_30976_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_Color_33792_30976_9.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_32256_32256_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_32256_32256_7.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_1.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_2.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_3.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_4.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_5.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_6.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_7.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_8.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33536_30976_9.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_1.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_2.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_3.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_4.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_5.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_6.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_7.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_8.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/orcsoberfest-island/Minimap_WaypointCost_33792_30976_9.png -------------------------------------------------------------------------------- /extra/orcsoberfest-island/markers.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "Ominous cauldron (Orcsoberfest)", 4 | "icon": "star", 5 | "x": 32090, 6 | "y": 31247, 7 | "z": 7 8 | }, 9 | { 10 | "description": "Ominous cauldron (Orcsoberfest)", 11 | "icon": "star", 12 | "x": 32197, 13 | "y": 32376, 14 | "z": 7 15 | }, 16 | { 17 | "description": "Ominous cauldron (Orcsoberfest)", 18 | "icon": "star", 19 | "x": 32241, 20 | "y": 32292, 21 | "z": 7 22 | }, 23 | { 24 | "description": "Ominous cauldron (Orcsoberfest)", 25 | "icon": "star", 26 | "x": 32255, 27 | "y": 32725, 28 | "z": 7 29 | }, 30 | { 31 | "description": "Ominous cauldron (Orcsoberfest)", 32 | "icon": "star", 33 | "x": 32269, 34 | "y": 31659, 35 | "z": 7 36 | }, 37 | { 38 | "description": "Ominous cauldron (Orcsoberfest)", 39 | "icon": "star", 40 | "x": 32593, 41 | "y": 32830, 42 | "z": 7 43 | }, 44 | { 45 | "description": "Ominous cauldron (Orcsoberfest)", 46 | "icon": "star", 47 | "x": 32605, 48 | "y": 31721, 49 | "z": 7 50 | }, 51 | { 52 | "description": "Ominous cauldron (Orcsoberfest)", 53 | "icon": "star", 54 | "x": 32683, 55 | "y": 31907, 56 | "z": 7 57 | }, 58 | { 59 | "description": "Ominous cauldron (Orcsoberfest)", 60 | "icon": "star", 61 | "x": 32745, 62 | "y": 32182, 63 | "z": 7 64 | }, 65 | { 66 | "description": "Ominous cauldron (Orcsoberfest)", 67 | "icon": "star", 68 | "x": 32833, 69 | "y": 31164, 70 | "z": 7 71 | }, 72 | { 73 | "description": "Ominous cauldron (Orcsoberfest)", 74 | "icon": "star", 75 | "x": 33220, 76 | "y": 32753, 77 | "z": 7 78 | }, 79 | { 80 | "description": "Ominous cauldron (Orcsoberfest)", 81 | "icon": "star", 82 | "x": 33246, 83 | "y": 32345, 84 | "z": 7 85 | }, 86 | { 87 | "description": "Ominous cauldron (Orcsoberfest)", 88 | "icon": "star", 89 | "x": 33275, 90 | "y": 31711, 91 | "z": 7 92 | }, 93 | { 94 | "description": "Ominous cauldron (Orcsoberfest)", 95 | "icon": "star", 96 | "x": 33331, 97 | "y": 32034, 98 | "z": 7 99 | }, 100 | { 101 | "description": "Ominous cauldron (Orcsoberfest)", 102 | "icon": "star", 103 | "x": 33567, 104 | "y": 31951, 105 | "z": 7 106 | }, 107 | { 108 | "description": "Teleport to The Feeding Grounds", 109 | "icon": "flag", 110 | "x": 33751, 111 | "y": 31073, 112 | "z": 7 113 | }, 114 | { 115 | "description": "The Great Food Race", 116 | "icon": "flag", 117 | "x": 33804, 118 | "y": 31077, 119 | "z": 7 120 | }, 121 | { 122 | "description": "Whack the Orc", 123 | "icon": "flag", 124 | "x": 33804, 125 | "y": 31110, 126 | "z": 7 127 | }, 128 | { 129 | "description": "Sausage Eating Contest", 130 | "icon": "flag", 131 | "x": 33822, 132 | "y": 31069, 133 | "z": 7 134 | }, 135 | { 136 | "description": "Ominous cauldron (Orcsoberfest)", 137 | "icon": "star", 138 | "x": 33901, 139 | "y": 31592, 140 | "z": 7 141 | }, 142 | { 143 | "description": "Exit", 144 | "icon": "flag", 145 | "x": 33725, 146 | "y": 31082, 147 | "z": 8 148 | }, 149 | { 150 | "description": "", 151 | "icon": "down", 152 | "x": 33773, 153 | "y": 31016, 154 | "z": 8 155 | }, 156 | { 157 | "description": "", 158 | "icon": "down", 159 | "x": 33782, 160 | "y": 31076, 161 | "z": 8 162 | }, 163 | { 164 | "description": "", 165 | "icon": "down", 166 | "x": 33786, 167 | "y": 31024, 168 | "z": 8 169 | }, 170 | { 171 | "description": "", 172 | "icon": "down", 173 | "x": 33807, 174 | "y": 31063, 175 | "z": 8 176 | }, 177 | { 178 | "description": "The Feast", 179 | "icon": "flag", 180 | "x": 33768, 181 | "y": 31100, 182 | "z": 9 183 | }, 184 | { 185 | "description": "", 186 | "icon": "up", 187 | "x": 33773, 188 | "y": 31016, 189 | "z": 9 190 | }, 191 | { 192 | "description": "", 193 | "icon": "up", 194 | "x": 33782, 195 | "y": 31076, 196 | "z": 9 197 | }, 198 | { 199 | "description": "", 200 | "icon": "up", 201 | "x": 33786, 202 | "y": 31024, 203 | "z": 9 204 | }, 205 | { 206 | "description": "", 207 | "icon": "up", 208 | "x": 33807, 209 | "y": 31063, 210 | "z": 9 211 | } 212 | ] 213 | -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33536_30976_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33536_30976_1.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33536_30976_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33536_30976_2.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33536_30976_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33536_30976_3.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33536_30976_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33536_30976_4.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33536_30976_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33536_30976_5.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33536_30976_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33536_30976_6.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33536_30976_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33536_30976_7.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33536_30976_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33536_30976_8.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33536_30976_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33536_30976_9.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33792_30976_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33792_30976_1.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33792_30976_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33792_30976_2.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33792_30976_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33792_30976_3.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33792_30976_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33792_30976_4.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33792_30976_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33792_30976_5.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33792_30976_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33792_30976_6.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33792_30976_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33792_30976_7.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33792_30976_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33792_30976_8.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_Color_33792_30976_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_Color_33792_30976_9.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33536_30976_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33536_30976_1.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33536_30976_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33536_30976_2.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33536_30976_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33536_30976_3.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33536_30976_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33536_30976_4.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33536_30976_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33536_30976_5.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33536_30976_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33536_30976_6.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33536_30976_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33536_30976_7.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33536_30976_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33536_30976_8.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33536_30976_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33536_30976_9.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33792_30976_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33792_30976_1.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33792_30976_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33792_30976_2.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33792_30976_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33792_30976_3.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33792_30976_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33792_30976_4.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33792_30976_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33792_30976_5.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33792_30976_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33792_30976_6.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33792_30976_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33792_30976_7.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33792_30976_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33792_30976_8.png -------------------------------------------------------------------------------- /extra/percht-island/Minimap_WaypointCost_33792_30976_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/extra/percht-island/Minimap_WaypointCost_33792_30976_9.png -------------------------------------------------------------------------------- /extra/percht-island/markers.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "", 4 | "icon": "down", 5 | "x": 33742, 6 | "y": 31035, 7 | "z": 6 8 | }, 9 | { 10 | "description": "", 11 | "icon": "down", 12 | "x": 33756, 13 | "y": 31042, 14 | "z": 6 15 | }, 16 | { 17 | "description": "", 18 | "icon": "up", 19 | "x": 33774, 20 | "y": 31036, 21 | "z": 6 22 | }, 23 | { 24 | "description": "", 25 | "icon": "down", 26 | "x": 33783, 27 | "y": 31041, 28 | "z": 6 29 | }, 30 | { 31 | "description": "", 32 | "icon": "down", 33 | "x": 33800, 34 | "y": 31012, 35 | "z": 6 36 | }, 37 | { 38 | "description": "", 39 | "icon": "down", 40 | "x": 33817, 41 | "y": 31021, 42 | "z": 6 43 | }, 44 | { 45 | "description": "", 46 | "icon": "down", 47 | "x": 33835, 48 | "y": 31011, 49 | "z": 6 50 | }, 51 | { 52 | "description": "Percht Island", 53 | "icon": "flag", 54 | "x": 32328, 55 | "y": 31106, 56 | "z": 7 57 | }, 58 | { 59 | "description": "Boat to Svargrond", 60 | "icon": "flag", 61 | "x": 33719, 62 | "y": 31105, 63 | "z": 7 64 | }, 65 | { 66 | "description": "Baleful bunny (fire bomb spot)", 67 | "icon": "crossmark", 68 | "x": 33722, 69 | "y": 31078, 70 | "z": 7 71 | }, 72 | { 73 | "description": "Baleful bunny (fire bomb spot)", 74 | "icon": "crossmark", 75 | "x": 33730, 76 | "y": 31040, 77 | "z": 7 78 | }, 79 | { 80 | "description": "Baleful bunny (fire bomb spot)", 81 | "icon": "crossmark", 82 | "x": 33742, 83 | "y": 31091, 84 | "z": 7 85 | }, 86 | { 87 | "description": "", 88 | "icon": "down", 89 | "x": 33745, 90 | "y": 31063, 91 | "z": 7 92 | }, 93 | { 94 | "description": "Baleful bunny (fire bomb spot)", 95 | "icon": "crossmark", 96 | "x": 33755, 97 | "y": 31019, 98 | "z": 7 99 | }, 100 | { 101 | "description": "", 102 | "icon": "up", 103 | "x": 33756, 104 | "y": 31042, 105 | "z": 7 106 | }, 107 | { 108 | "description": "Baleful bunny (fire bomb spot)", 109 | "icon": "crossmark", 110 | "x": 33757, 111 | "y": 31091, 112 | "z": 7 113 | }, 114 | { 115 | "description": "Baleful bunny (fire bomb spot)", 116 | "icon": "crossmark", 117 | "x": 33760, 118 | "y": 31066, 119 | "z": 7 120 | }, 121 | { 122 | "description": "Baleful bunny (fire bomb spot)", 123 | "icon": "crossmark", 124 | "x": 33762, 125 | "y": 31016, 126 | "z": 7 127 | }, 128 | { 129 | "description": "Baleful bunny (fire bomb spot)", 130 | "icon": "crossmark", 131 | "x": 33763, 132 | "y": 31066, 133 | "z": 7 134 | }, 135 | { 136 | "description": "Baleful bunny (fire bomb spot)", 137 | "icon": "crossmark", 138 | "x": 33774, 139 | "y": 31020, 140 | "z": 7 141 | }, 142 | { 143 | "description": "Baleful bunny (fire bomb spot)", 144 | "icon": "crossmark", 145 | "x": 33776, 146 | "y": 31044, 147 | "z": 7 148 | }, 149 | { 150 | "description": "Baleful bunny (fire bomb spot)", 151 | "icon": "crossmark", 152 | "x": 33776, 153 | "y": 31046, 154 | "z": 7 155 | }, 156 | { 157 | "description": "Baleful bunny (fire bomb spot)", 158 | "icon": "crossmark", 159 | "x": 33778, 160 | "y": 31020, 161 | "z": 7 162 | }, 163 | { 164 | "description": "Baleful bunny (fire bomb spot)", 165 | "icon": "crossmark", 166 | "x": 33791, 167 | "y": 31060, 168 | "z": 7 169 | }, 170 | { 171 | "description": "Baleful bunny (fire bomb spot)", 172 | "icon": "crossmark", 173 | "x": 33792, 174 | "y": 31004, 175 | "z": 7 176 | }, 177 | { 178 | "description": "Baleful bunny (fire bomb spot)", 179 | "icon": "crossmark", 180 | "x": 33794, 181 | "y": 31060, 182 | "z": 7 183 | }, 184 | { 185 | "description": "", 186 | "icon": "up", 187 | "x": 33800, 188 | "y": 31012, 189 | "z": 7 190 | }, 191 | { 192 | "description": "", 193 | "icon": "up", 194 | "x": 33817, 195 | "y": 31021, 196 | "z": 7 197 | }, 198 | { 199 | "description": "Baleful bunny (fire bomb spot)", 200 | "icon": "crossmark", 201 | "x": 33818, 202 | "y": 31076, 203 | "z": 7 204 | }, 205 | { 206 | "description": "", 207 | "icon": "up", 208 | "x": 33835, 209 | "y": 31011, 210 | "z": 7 211 | }, 212 | { 213 | "description": "", 214 | "icon": "up", 215 | "x": 33745, 216 | "y": 31063, 217 | "z": 8 218 | }, 219 | { 220 | "description": "", 221 | "icon": "down", 222 | "x": 33789, 223 | "y": 31022, 224 | "z": 8 225 | }, 226 | { 227 | "description": "", 228 | "icon": "up", 229 | "x": 33700, 230 | "y": 31056, 231 | "z": 9 232 | }, 233 | { 234 | "description": "Bonfire", 235 | "icon": "crossmark", 236 | "x": 33711, 237 | "y": 31067, 238 | "z": 9 239 | }, 240 | { 241 | "description": "Wood", 242 | "icon": "crossmark", 243 | "x": 33723, 244 | "y": 31056, 245 | "z": 9 246 | }, 247 | { 248 | "description": "", 249 | "icon": "flag", 250 | "x": 33759, 251 | "y": 31083, 252 | "z": 9 253 | }, 254 | { 255 | "description": "", 256 | "icon": "up", 257 | "x": 33789, 258 | "y": 31022, 259 | "z": 9 260 | } 261 | ] 262 | -------------------------------------------------------------------------------- /extra/rapid-respawn/markers.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "description": "Fire bomb spot", 4 | "icon": "!", 5 | "x": 32577, 6 | "y": 31841, 7 | "z": 4 8 | }, 9 | { 10 | "description": "Fire bomb spot (black sheep)", 11 | "icon": "!", 12 | "x": 32598, 13 | "y": 31805, 14 | "z": 4 15 | }, 16 | { 17 | "description": "Fire bomb spot", 18 | "icon": "!", 19 | "x": 33099, 20 | "y": 31252, 21 | "z": 4 22 | }, 23 | { 24 | "description": "Fire bomb spot", 25 | "icon": "!", 26 | "x": 32542, 27 | "y": 31828, 28 | "z": 5 29 | }, 30 | { 31 | "description": "Fire bomb spot", 32 | "icon": "!", 33 | "x": 32546, 34 | "y": 31798, 35 | "z": 5 36 | }, 37 | { 38 | "description": "Fire bomb spot", 39 | "icon": "!", 40 | "x": 32547, 41 | "y": 31849, 42 | "z": 5 43 | }, 44 | { 45 | "description": "Fire bomb spot", 46 | "icon": "!", 47 | "x": 32554, 48 | "y": 31781, 49 | "z": 5 50 | }, 51 | { 52 | "description": "Fire bomb spot", 53 | "icon": "!", 54 | "x": 32559, 55 | "y": 31815, 56 | "z": 5 57 | }, 58 | { 59 | "description": "Fire bomb spot", 60 | "icon": "!", 61 | "x": 32575, 62 | "y": 31773, 63 | "z": 5 64 | }, 65 | { 66 | "description": "Fire bomb spot", 67 | "icon": "!", 68 | "x": 32577, 69 | "y": 31773, 70 | "z": 5 71 | }, 72 | { 73 | "description": "Fire bomb spot", 74 | "icon": "!", 75 | "x": 32577, 76 | "y": 31851, 77 | "z": 5 78 | }, 79 | { 80 | "description": "Fire bomb spot", 81 | "icon": "!", 82 | "x": 32579, 83 | "y": 31835, 84 | "z": 5 85 | }, 86 | { 87 | "description": "Fire bomb spot", 88 | "icon": "!", 89 | "x": 32586, 90 | "y": 31810, 91 | "z": 5 92 | }, 93 | { 94 | "description": "Fire bomb spot", 95 | "icon": "!", 96 | "x": 32589, 97 | "y": 31809, 98 | "z": 5 99 | }, 100 | { 101 | "description": "Fire bomb spot", 102 | "icon": "!", 103 | "x": 32590, 104 | "y": 31833, 105 | "z": 5 106 | }, 107 | { 108 | "description": "Fire bomb spot", 109 | "icon": "!", 110 | "x": 32591, 111 | "y": 31831, 112 | "z": 5 113 | }, 114 | { 115 | "description": "Fire bomb spot", 116 | "icon": "!", 117 | "x": 32594, 118 | "y": 31831, 119 | "z": 5 120 | }, 121 | { 122 | "description": "Fire bomb spot", 123 | "icon": "!", 124 | "x": 32595, 125 | "y": 31816, 126 | "z": 5 127 | }, 128 | { 129 | "description": "Fire bomb spot", 130 | "icon": "!", 131 | "x": 32598, 132 | "y": 31769, 133 | "z": 5 134 | }, 135 | { 136 | "description": "Fire bomb spot", 137 | "icon": "!", 138 | "x": 32610, 139 | "y": 31785, 140 | "z": 5 141 | }, 142 | { 143 | "description": "White tiger (fire bomb spot)", 144 | "icon": "!", 145 | "x": 33090, 146 | "y": 32943, 147 | "z": 5 148 | }, 149 | { 150 | "description": "Fire bomb spot", 151 | "icon": "!", 152 | "x": 32592, 153 | "y": 31809, 154 | "z": 6 155 | }, 156 | { 157 | "description": "Fire bomb spot (pig)", 158 | "icon": "!", 159 | "x": 32610, 160 | "y": 31768, 161 | "z": 6 162 | }, 163 | { 164 | "description": "Fire bomb spot", 165 | "icon": "!", 166 | "x": 33088, 167 | "y": 31260, 168 | "z": 6 169 | }, 170 | { 171 | "description": "White tiger (fire bomb spot)", 172 | "icon": "!", 173 | "x": 33098, 174 | "y": 32946, 175 | "z": 6 176 | }, 177 | { 178 | "description": "Terrified elephant (fire bomb spot)", 179 | "icon": "star", 180 | "x": 32826, 181 | "y": 32668, 182 | "z": 7 183 | }, 184 | { 185 | "description": "Terrified elephant (fire bomb spot)", 186 | "icon": "star", 187 | "x": 32827, 188 | "y": 32674, 189 | "z": 7 190 | }, 191 | { 192 | "description": "Terrified elephant (fire bomb spot)", 193 | "icon": "star", 194 | "x": 32833, 195 | "y": 32669, 196 | "z": 7 197 | }, 198 | { 199 | "description": "Terrified elephant (fire bomb spot)", 200 | "icon": "star", 201 | "x": 32840, 202 | "y": 32672, 203 | "z": 7 204 | }, 205 | { 206 | "description": "Terrified elephant (fire bomb spot)", 207 | "icon": "star", 208 | "x": 32848, 209 | "y": 32670, 210 | "z": 7 211 | }, 212 | { 213 | "description": "Terrified elephant (fire bomb spot)", 214 | "icon": "star", 215 | "x": 32857, 216 | "y": 32675, 217 | "z": 7 218 | }, 219 | { 220 | "description": "Terrified elephant (fire bomb spot)", 221 | "icon": "star", 222 | "x": 32859, 223 | "y": 32668, 224 | "z": 7 225 | }, 226 | { 227 | "description": "Terrified elephant (fire bomb spot)", 228 | "icon": "star", 229 | "x": 32865, 230 | "y": 32677, 231 | "z": 7 232 | }, 233 | { 234 | "description": "Terrified elephant (fire bomb spot)", 235 | "icon": "star", 236 | "x": 32867, 237 | "y": 32670, 238 | "z": 7 239 | }, 240 | { 241 | "description": "White tiger (fire bomb spot)", 242 | "icon": "!", 243 | "x": 32947, 244 | "y": 32929, 245 | "z": 7 246 | }, 247 | { 248 | "description": "White tiger (fire bomb spot)", 249 | "icon": "!", 250 | "x": 32951, 251 | "y": 32930, 252 | "z": 7 253 | }, 254 | { 255 | "description": "White tiger (fire bomb spot)", 256 | "icon": "!", 257 | "x": 32961, 258 | "y": 32956, 259 | "z": 7 260 | }, 261 | { 262 | "description": "White tiger (fire bomb spot)", 263 | "icon": "!", 264 | "x": 32964, 265 | "y": 32950, 266 | "z": 7 267 | }, 268 | { 269 | "description": "White tiger (fire bomb spot)", 270 | "icon": "!", 271 | "x": 32971, 272 | "y": 32940, 273 | "z": 7 274 | }, 275 | { 276 | "description": "White tiger (fire bomb spot)", 277 | "icon": "!", 278 | "x": 32973, 279 | "y": 32940, 280 | "z": 7 281 | }, 282 | { 283 | "description": "White tiger (fire bomb spot)", 284 | "icon": "!", 285 | "x": 32982, 286 | "y": 32937, 287 | "z": 7 288 | }, 289 | { 290 | "description": "White tiger (fire bomb spot)", 291 | "icon": "!", 292 | "x": 32989, 293 | "y": 32926, 294 | "z": 7 295 | }, 296 | { 297 | "description": "White tiger (fire bomb spot)", 298 | "icon": "!", 299 | "x": 32992, 300 | "y": 32925, 301 | "z": 7 302 | }, 303 | { 304 | "description": "White tiger (fire bomb spot)", 305 | "icon": "!", 306 | "x": 32992, 307 | "y": 32950, 308 | "z": 7 309 | }, 310 | { 311 | "description": "White tiger (fire bomb spot)", 312 | "icon": "!", 313 | "x": 33000, 314 | "y": 32917, 315 | "z": 7 316 | }, 317 | { 318 | "description": "White tiger (fire bomb spot)", 319 | "icon": "!", 320 | "x": 33002, 321 | "y": 32908, 322 | "z": 7 323 | }, 324 | { 325 | "description": "White tiger (fire bomb spot)", 326 | "icon": "!", 327 | "x": 33013, 328 | "y": 32962, 329 | "z": 7 330 | }, 331 | { 332 | "description": "White tiger (fire bomb spot)", 333 | "icon": "!", 334 | "x": 33021, 335 | "y": 32898, 336 | "z": 7 337 | }, 338 | { 339 | "description": "White tiger (fire bomb spot)", 340 | "icon": "!", 341 | "x": 33024, 342 | "y": 32942, 343 | "z": 7 344 | }, 345 | { 346 | "description": "White tiger (fire bomb spot)", 347 | "icon": "!", 348 | "x": 33091, 349 | "y": 32953, 350 | "z": 7 351 | }, 352 | { 353 | "description": "Lacewing moth (fire bomb spot)", 354 | "icon": "crossmark", 355 | "x": 33682, 356 | "y": 32216, 357 | "z": 7 358 | }, 359 | { 360 | "description": "Lacewing moth (fire bomb spot)", 361 | "icon": "crossmark", 362 | "x": 33715, 363 | "y": 32190, 364 | "z": 7 365 | }, 366 | { 367 | "description": "Gazer (fire bomb spot)", 368 | "icon": "crossmark", 369 | "x": 32085, 370 | "y": 32781, 371 | "z": 8 372 | }, 373 | { 374 | "description": "Gazer (fire bomb spot)", 375 | "icon": "crossmark", 376 | "x": 32085, 377 | "y": 32793, 378 | "z": 8 379 | }, 380 | { 381 | "description": "Gazer (fire bomb spot)", 382 | "icon": "crossmark", 383 | "x": 32085, 384 | "y": 32808, 385 | "z": 8 386 | }, 387 | { 388 | "description": "Gazer (fire bomb spot)", 389 | "icon": "crossmark", 390 | "x": 32089, 391 | "y": 32811, 392 | "z": 8 393 | }, 394 | { 395 | "description": "Gazer (fire bomb spot)", 396 | "icon": "crossmark", 397 | "x": 32098, 398 | "y": 32773, 399 | "z": 8 400 | }, 401 | { 402 | "description": "Gazer (fire bomb spot)", 403 | "icon": "crossmark", 404 | "x": 32104, 405 | "y": 32771, 406 | "z": 8 407 | }, 408 | { 409 | "description": "Gazer (fire bomb spot)", 410 | "icon": "crossmark", 411 | "x": 32107, 412 | "y": 32806, 413 | "z": 8 414 | }, 415 | { 416 | "description": "Gazer (fire bomb spot)", 417 | "icon": "crossmark", 418 | "x": 32109, 419 | "y": 32790, 420 | "z": 8 421 | }, 422 | { 423 | "description": "Gazer (fire bomb spot)", 424 | "icon": "crossmark", 425 | "x": 32117, 426 | "y": 32811, 427 | "z": 8 428 | }, 429 | { 430 | "description": "Gazer (fire bomb spot)", 431 | "icon": "crossmark", 432 | "x": 32124, 433 | "y": 32779, 434 | "z": 8 435 | }, 436 | { 437 | "description": "Gazer (fire bomb spot)", 438 | "icon": "crossmark", 439 | "x": 32128, 440 | "y": 32811, 441 | "z": 8 442 | }, 443 | { 444 | "description": "Gazer (fire bomb spot)", 445 | "icon": "crossmark", 446 | "x": 32132, 447 | "y": 32792, 448 | "z": 8 449 | }, 450 | { 451 | "description": "Gazer (fire bomb spot)", 452 | "icon": "crossmark", 453 | "x": 32135, 454 | "y": 32792, 455 | "z": 8 456 | }, 457 | { 458 | "description": "Gazer (fire bomb spot)", 459 | "icon": "crossmark", 460 | "x": 32149, 461 | "y": 32777, 462 | "z": 8 463 | }, 464 | { 465 | "description": "Cave rat (fire bomb spot)", 466 | "icon": "checkmark", 467 | "x": 32746, 468 | "y": 31162, 469 | "z": 8 470 | }, 471 | { 472 | "description": "Cave rat (fire bomb spot)", 473 | "icon": "checkmark", 474 | "x": 32751, 475 | "y": 31194, 476 | "z": 8 477 | }, 478 | { 479 | "description": "Cave rat (fire bomb spot)", 480 | "icon": "checkmark", 481 | "x": 32753, 482 | "y": 31155, 483 | "z": 8 484 | }, 485 | { 486 | "description": "Cave rat (fire bomb spot)", 487 | "icon": "checkmark", 488 | "x": 32754, 489 | "y": 31223, 490 | "z": 8 491 | }, 492 | { 493 | "description": "Cave rat (fire bomb spot)", 494 | "icon": "checkmark", 495 | "x": 32757, 496 | "y": 31181, 497 | "z": 8 498 | }, 499 | { 500 | "description": "Cave rat (fire bomb spot)", 501 | "icon": "checkmark", 502 | "x": 32758, 503 | "y": 31169, 504 | "z": 8 505 | }, 506 | { 507 | "description": "Cave rat (fire bomb spot)", 508 | "icon": "checkmark", 509 | "x": 32763, 510 | "y": 31228, 511 | "z": 8 512 | }, 513 | { 514 | "description": "Cave rat (fire bomb spot)", 515 | "icon": "checkmark", 516 | "x": 32763, 517 | "y": 31241, 518 | "z": 8 519 | }, 520 | { 521 | "description": "Cave rat (fire bomb spot)", 522 | "icon": "checkmark", 523 | "x": 32766, 524 | "y": 31151, 525 | "z": 8 526 | }, 527 | { 528 | "description": "Cave rat (fire bomb spot)", 529 | "icon": "checkmark", 530 | "x": 32781, 531 | "y": 31229, 532 | "z": 8 533 | }, 534 | { 535 | "description": "Cave rat (fire bomb spot)", 536 | "icon": "checkmark", 537 | "x": 32787, 538 | "y": 31151, 539 | "z": 8 540 | }, 541 | { 542 | "description": "Cave rat (fire bomb spot)", 543 | "icon": "checkmark", 544 | "x": 32790, 545 | "y": 31203, 546 | "z": 8 547 | }, 548 | { 549 | "description": "Cave rat (fire bomb spot)", 550 | "icon": "checkmark", 551 | "x": 32796, 552 | "y": 31213, 553 | "z": 8 554 | }, 555 | { 556 | "description": "Cave rat (fire bomb spot)", 557 | "icon": "checkmark", 558 | "x": 32798, 559 | "y": 31195, 560 | "z": 8 561 | }, 562 | { 563 | "description": "Cave rat (fire bomb spot)", 564 | "icon": "checkmark", 565 | "x": 32799, 566 | "y": 31151, 567 | "z": 8 568 | }, 569 | { 570 | "description": "Cave rat (fire bomb spot)", 571 | "icon": "checkmark", 572 | "x": 32799, 573 | "y": 31230, 574 | "z": 8 575 | }, 576 | { 577 | "description": "Cave rat (fire bomb spot)", 578 | "icon": "checkmark", 579 | "x": 32805, 580 | "y": 31230, 581 | "z": 8 582 | }, 583 | { 584 | "description": "Cave rat (fire bomb spot)", 585 | "icon": "checkmark", 586 | "x": 32812, 587 | "y": 31205, 588 | "z": 8 589 | }, 590 | { 591 | "description": "Cave rat (fire bomb spot)", 592 | "icon": "checkmark", 593 | "x": 32815, 594 | "y": 31221, 595 | "z": 8 596 | }, 597 | { 598 | "description": "Cave rat (fire bomb spot)", 599 | "icon": "checkmark", 600 | "x": 32816, 601 | "y": 31144, 602 | "z": 8 603 | }, 604 | { 605 | "description": "Cave rat (fire bomb spot)", 606 | "icon": "checkmark", 607 | "x": 32817, 608 | "y": 31152, 609 | "z": 8 610 | }, 611 | { 612 | "description": "Cave rat (fire bomb spot)", 613 | "icon": "checkmark", 614 | "x": 32819, 615 | "y": 31232, 616 | "z": 8 617 | }, 618 | { 619 | "description": "Cave rat (fire bomb spot)", 620 | "icon": "checkmark", 621 | "x": 32826, 622 | "y": 31202, 623 | "z": 8 624 | }, 625 | { 626 | "description": "Cave rat (fire bomb spot)", 627 | "icon": "checkmark", 628 | "x": 32827, 629 | "y": 31166, 630 | "z": 8 631 | }, 632 | { 633 | "description": "Cave rat (fire bomb spot)", 634 | "icon": "checkmark", 635 | "x": 32827, 636 | "y": 31225, 637 | "z": 8 638 | }, 639 | { 640 | "description": "Cave rat (fire bomb spot)", 641 | "icon": "checkmark", 642 | "x": 32830, 643 | "y": 31142, 644 | "z": 8 645 | }, 646 | { 647 | "description": "Cave rat (fire bomb spot)", 648 | "icon": "checkmark", 649 | "x": 32830, 650 | "y": 31176, 651 | "z": 8 652 | }, 653 | { 654 | "description": "Cave rat (fire bomb spot)", 655 | "icon": "checkmark", 656 | "x": 32833, 657 | "y": 31152, 658 | "z": 8 659 | }, 660 | { 661 | "description": "Cave rat (fire bomb spot)", 662 | "icon": "checkmark", 663 | "x": 32834, 664 | "y": 31241, 665 | "z": 8 666 | }, 667 | { 668 | "description": "Cave rat (fire bomb spot)", 669 | "icon": "checkmark", 670 | "x": 32840, 671 | "y": 31215, 672 | "z": 8 673 | }, 674 | { 675 | "description": "Cave rat (fire bomb spot)", 676 | "icon": "checkmark", 677 | "x": 32841, 678 | "y": 31187, 679 | "z": 8 680 | }, 681 | { 682 | "description": "Cave rat (fire bomb spot)", 683 | "icon": "checkmark", 684 | "x": 32841, 685 | "y": 31225, 686 | "z": 8 687 | }, 688 | { 689 | "description": "Cave rat (fire bomb spot)", 690 | "icon": "checkmark", 691 | "x": 32842, 692 | "y": 31162, 693 | "z": 8 694 | }, 695 | { 696 | "description": "Cave rat (fire bomb spot)", 697 | "icon": "checkmark", 698 | "x": 32842, 699 | "y": 31179, 700 | "z": 8 701 | }, 702 | { 703 | "description": "Cave rat (fire bomb spot)", 704 | "icon": "checkmark", 705 | "x": 32848, 706 | "y": 31151, 707 | "z": 8 708 | }, 709 | { 710 | "description": "Cave rat (fire bomb spot)", 711 | "icon": "checkmark", 712 | "x": 32849, 713 | "y": 31214, 714 | "z": 8 715 | }, 716 | { 717 | "description": "Cave rat (fire bomb spot)", 718 | "icon": "checkmark", 719 | "x": 32849, 720 | "y": 31231, 721 | "z": 8 722 | }, 723 | { 724 | "description": "Troll champion (fire bomb spot)", 725 | "icon": "!", 726 | "x": 32617, 727 | "y": 31619, 728 | "z": 10 729 | }, 730 | { 731 | "description": "Troll champion (fire bomb spot)", 732 | "icon": "!", 733 | "x": 32650, 734 | "y": 31612, 735 | "z": 10 736 | }, 737 | { 738 | "description": "Troll champion (fire bomb spot)", 739 | "icon": "!", 740 | "x": 32655, 741 | "y": 31585, 742 | "z": 10 743 | }, 744 | { 745 | "description": "Troll champion (fire bomb spot)", 746 | "icon": "!", 747 | "x": 32678, 748 | "y": 31588, 749 | "z": 10 750 | }, 751 | { 752 | "description": "Troll champion (fire bomb spot)", 753 | "icon": "!", 754 | "x": 32709, 755 | "y": 31602, 756 | "z": 10 757 | }, 758 | { 759 | "description": "Deepling elite (poison bomb spot)", 760 | "icon": "star", 761 | "x": 33528, 762 | "y": 31289, 763 | "z": 10 764 | }, 765 | { 766 | "description": "Deepling elite (poison bomb spot)", 767 | "icon": "star", 768 | "x": 33530, 769 | "y": 31300, 770 | "z": 10 771 | }, 772 | { 773 | "description": "Troll champion (fire bomb spot)", 774 | "icon": "!", 775 | "x": 32636, 776 | "y": 31636, 777 | "z": 11 778 | }, 779 | { 780 | "description": "Troll champion (fire bomb spot)", 781 | "icon": "!", 782 | "x": 32638, 783 | "y": 31636, 784 | "z": 11 785 | }, 786 | { 787 | "description": "Troll champion (fire bomb spot)", 788 | "icon": "!", 789 | "x": 32654, 790 | "y": 31618, 791 | "z": 11 792 | }, 793 | { 794 | "description": "Troll champion (fire bomb spot)", 795 | "icon": "!", 796 | "x": 32675, 797 | "y": 31650, 798 | "z": 11 799 | }, 800 | { 801 | "description": "Troll champion (fire bomb spot + 1 west)", 802 | "icon": "!", 803 | "x": 32683, 804 | "y": 31609, 805 | "z": 11 806 | }, 807 | { 808 | "description": "Troll champion (fire bomb spot)", 809 | "icon": "!", 810 | "x": 32683, 811 | "y": 31641, 812 | "z": 11 813 | }, 814 | { 815 | "description": "Troll champion (fire bomb spot)", 816 | "icon": "!", 817 | "x": 32685, 818 | "y": 31641, 819 | "z": 11 820 | }, 821 | { 822 | "description": "Troll champion (fire bomb spot)", 823 | "icon": "!", 824 | "x": 32701, 825 | "y": 31624, 826 | "z": 11 827 | }, 828 | { 829 | "description": "Troll champion (fire bomb spot)", 830 | "icon": "!", 831 | "x": 32710, 832 | "y": 31644, 833 | "z": 11 834 | }, 835 | { 836 | "description": "Troll champion (fire bomb spot)", 837 | "icon": "!", 838 | "x": 32717, 839 | "y": 31631, 840 | "z": 11 841 | }, 842 | { 843 | "description": "Deepling master librarian (poison bomb spot)", 844 | "icon": "star", 845 | "x": 33458, 846 | "y": 31178, 847 | "z": 11 848 | }, 849 | { 850 | "description": "Deepling elite (poison bomb spot)", 851 | "icon": "star", 852 | "x": 33483, 853 | "y": 31257, 854 | "z": 11 855 | }, 856 | { 857 | "description": "Deepling tyrant (poison bomb spot)", 858 | "icon": "star", 859 | "x": 33496, 860 | "y": 31300, 861 | "z": 11 862 | }, 863 | { 864 | "description": "Deepling elite (poison bomb spot)", 865 | "icon": "star", 866 | "x": 33502, 867 | "y": 31217, 868 | "z": 11 869 | }, 870 | { 871 | "description": "Deepling tyrant (poison bomb spot)", 872 | "icon": "star", 873 | "x": 33507, 874 | "y": 31256, 875 | "z": 11 876 | }, 877 | { 878 | "description": "Haunted dragon (exact spawn tile)", 879 | "icon": "sword", 880 | "x": 32050, 881 | "y": 32513, 882 | "z": 12 883 | }, 884 | { 885 | "description": "Haunted dragon (exact spawn tile)", 886 | "icon": "sword", 887 | "x": 32055, 888 | "y": 32511, 889 | "z": 12 890 | }, 891 | { 892 | "description": "Haunted dragon (exact spawn tile)", 893 | "icon": "sword", 894 | "x": 32056, 895 | "y": 32497, 896 | "z": 12 897 | }, 898 | { 899 | "description": "Haunted dragon (exact spawn tile)", 900 | "icon": "sword", 901 | "x": 32061, 902 | "y": 32494, 903 | "z": 12 904 | }, 905 | { 906 | "description": "Haunted dragon (exact spawn tile)", 907 | "icon": "sword", 908 | "x": 32079, 909 | "y": 32499, 910 | "z": 12 911 | }, 912 | { 913 | "description": "Haunted dragon (exact spawn tile)", 914 | "icon": "sword", 915 | "x": 32094, 916 | "y": 32517, 917 | "z": 12 918 | }, 919 | { 920 | "description": "Haunted dragon (exact spawn tile)", 921 | "icon": "sword", 922 | "x": 32097, 923 | "y": 32516, 924 | "z": 12 925 | }, 926 | { 927 | "description": "Deepling tyrant (poison bomb spot)", 928 | "icon": "star", 929 | "x": 33519, 930 | "y": 31249, 931 | "z": 12 932 | }, 933 | { 934 | "description": "Deepling tyrant (poison bomb spot)", 935 | "icon": "star", 936 | "x": 33543, 937 | "y": 31276, 938 | "z": 13 939 | }, 940 | { 941 | "description": "Deepling tyrant (poison bomb spot)", 942 | "icon": "star", 943 | "x": 33565, 944 | "y": 31306, 945 | "z": 13 946 | } 947 | ] 948 | -------------------------------------------------------------------------------- /overlays/challenging/floor-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/overlays/challenging/floor-03.png -------------------------------------------------------------------------------- /overlays/challenging/floor-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/overlays/challenging/floor-04.png -------------------------------------------------------------------------------- /overlays/challenging/floor-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/overlays/challenging/floor-05.png -------------------------------------------------------------------------------- /overlays/challenging/floor-07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/overlays/challenging/floor-07.png -------------------------------------------------------------------------------- /overlays/challenging/floor-08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/overlays/challenging/floor-08.png -------------------------------------------------------------------------------- /overlays/challenging/floor-09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/overlays/challenging/floor-09.png -------------------------------------------------------------------------------- /overlays/challenging/floor-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/overlays/challenging/floor-10.png -------------------------------------------------------------------------------- /overlays/challenging/floor-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/overlays/challenging/floor-11.png -------------------------------------------------------------------------------- /overlays/challenging/floor-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/overlays/challenging/floor-12.png -------------------------------------------------------------------------------- /overlays/challenging/floor-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/overlays/challenging/floor-13.png -------------------------------------------------------------------------------- /overlays/challenging/floor-14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/overlays/challenging/floor-14.png -------------------------------------------------------------------------------- /overlays/challenging/floor-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tibiamaps/tibia-map-data/1955e8f90a8732345c27da338d52165f9cb9814b/overlays/challenging/floor-15.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "devDependencies": { 4 | "imagemin-cli": "^6.0.0", 5 | "jsesc": "^3.0.2", 6 | "tibia-count-walkable-tiles": "*", 7 | "tibia-maps": "^5.3.0" 8 | }, 9 | "scripts": { 10 | "build": "scripts/build.sh" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /scripts/apply-overlay.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Navigate to the root of the repository. 4 | cd "$(dirname "${BASH_SOURCE}")/.."; 5 | 6 | # Ensure `tibia-maps` is in the PATH on CI. 7 | PATH="${PATH}:$(pwd)/node_modules/.bin"; 8 | 9 | if [ -z "${1}" ]; then 10 | echo 'No argument supplied. Example usage:'; 11 | echo ''; 12 | echo 'scripts/apply-overlay.sh challenging'; 13 | exit 0; 14 | fi; 15 | 16 | if [ 'challenging' != "${1}" ]; then 17 | echo "Invalid argument. Try 'challenging'."; 18 | exit 0; 19 | fi; 20 | 21 | overlayID="${1}"; 22 | for floorID in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15; do 23 | echo "Processing ${floorID}..."; 24 | input_path="./data/floor-${floorID}-map.png"; 25 | overlay_path="./overlays/${overlayID}/floor-${floorID}.png"; 26 | mkdir -p "./data-with-overlays/${overlayID}"; 27 | output_path="./data-with-overlays/${overlayID}/floor-${floorID}-map.png"; 28 | if [ -f "${overlay_path}" ]; then 29 | magick "${input_path}" \ 30 | \( -clone 0 -fill black -colorize 60% \) \ 31 | -compose over -gravity center -composite \ 32 | "${overlay_path}" -gravity center -compose over -composite \ 33 | "${output_path}"; 34 | else 35 | # No overlay image; only apply the darkening. 36 | magick "${input_path}" \ 37 | \( -clone 0 -fill black -colorize 60% \) \ 38 | -compose over -gravity center -composite \ 39 | "${output_path}"; 40 | fi; 41 | done; 42 | cp ./data/bounds.json "./data-with-overlays/${overlayID}/bounds.json"; 43 | -------------------------------------------------------------------------------- /scripts/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Navigate to the root of the repository. 4 | cd "$(dirname "${BASH_SOURCE}")/.."; 5 | 6 | # Create the output directory, and make sure it’s empty. 7 | DIST_DIR='dist'; 8 | if [ -d "${DIST_DIR}" ]; then 9 | rm -rf -- "${DIST_DIR}"; 10 | fi; 11 | mkdir -p "${DIST_DIR}"; 12 | # Speed up GitHub Pages build + deploy times. 13 | touch "${DIST_DIR}/.nojekyll"; 14 | 15 | # Copy `data/*` into `dist/*`, while compressing JSON and images. 16 | echo 'Compressing JSON-formatted data…'; 17 | for file in data/*.json; do 18 | jsesc --object --json < "${file}" > "${DIST_DIR}/$(basename ${file})"; 19 | done; 20 | jsesc --object --json < extra/achievements/markers.json > "${DIST_DIR}/achievements-markers.json"; 21 | jsesc --object --json < extra/points-of-interest/markers.json > "${DIST_DIR}/poi-markers.json"; 22 | jsesc --object --json < extra/rapid-respawn/markers.json > "${DIST_DIR}/rapid-respawn-markers.json"; 23 | echo 'Compressing PNG images…'; 24 | imagemin data/*.png --out-dir="${DIST_DIR}"; 25 | 26 | cd "${DIST_DIR}"; 27 | 28 | echo "Calculating hashes for map files…" 29 | for file in floor-*-map.png; do 30 | md5sum "${file}" >> hashes.txt; 31 | done; 32 | 33 | echo 'Generating minimap folders…'; 34 | tibia-maps --from-data=../data --output-dir=./minimap; 35 | # Note: minimap images cannot be optimized — their color palette must be 36 | # preserved. 37 | echo "Saving minimap maps with markers as \`${DIST_DIR}/minimap-with-markers.zip\`…"; 38 | zip -q -FS -r "minimap-with-markers.zip" minimap --exclude */.git* */.DS_Store; 39 | echo "Saving minimap maps without markers as \`${DIST_DIR}/minimap-without-markers.zip\`…"; 40 | zip -q -FS -r "minimap-without-markers.zip" minimap --exclude */minimapmarkers.bin */.git* */.DS_Store; 41 | 42 | # Preserve `dist/minimap-{with,without}-markers`. 43 | mv minimap minimap-with-markers; 44 | cp -r minimap-with-markers minimap-without-markers; 45 | rm minimap-without-markers/minimapmarkers.bin; 46 | 47 | echo 'Generating minimap folders with grid overlay…'; 48 | tibia-maps --from-data=../data --output-dir=./minimap --overlay-grid; 49 | echo "Saving minimap maps with grid overlay and markers as \`${DIST_DIR}/minimap-with-grid-overlay-and-markers.zip\`…"; 50 | zip -q -FS -r "minimap-with-grid-overlay-and-markers.zip" minimap --exclude */.git* */.DS_Store; 51 | 52 | echo "Saving minimap maps with grid overlay without markers as \`${DIST_DIR}/minimap-with-grid-overlay-without-markers.zip\`…"; 53 | zip -q -FS -r "minimap-with-grid-overlay-without-markers.zip" minimap --exclude */minimapmarkers.bin */.git* */.DS_Store; 54 | 55 | # Preserve `dist/minimap-with-grid-overlay-{and,without}-markers`. 56 | mv minimap minimap-with-grid-overlay-and-markers; 57 | cp -r minimap-with-grid-overlay-and-markers minimap-with-grid-overlay-without-markers; 58 | rm minimap-with-grid-overlay-without-markers/minimapmarkers.bin; 59 | 60 | # Create specialized version with only the Points of Interest markers. 61 | mv ../data/markers.json ../data/markers.json.bak; 62 | cp ../extra/points-of-interest/markers.json ../data/markers.json; 63 | tibia-maps --from-data=../data --output-dir=./minimap --overlay-grid; 64 | mv ../data/markers.json.bak ../data/markers.json; 65 | echo "Saving minimap maps with grid overlay and PoI markers as \`${DIST_DIR}/minimap-with-grid-overlay-and-poi-markers.zip\`…"; 66 | zip -q -FS -r "minimap-with-grid-overlay-and-poi-markers.zip" minimap --exclude */.git* */.DS_Store; 67 | 68 | # Preserve `dist/minimap-with-grid-overlay-and-poi-markers`. 69 | cp -r minimap minimap-with-grid-overlay-and-poi-markers; 70 | 71 | # Generate `walkable-tiles.json`. 72 | # https://tibiamaps.io/blog/walkable-tile-count 73 | echo 'Saving the total number of walkable tiles as `walkable-tiles.json`…'; 74 | tibia-count-walkable-tiles ../data/floor-*-path.png > walkable-tiles.json; 75 | 76 | # Create optimized versions of each map tile, intended for online map viewer 77 | # usage. Only the map and pathfinding data is needed; the marker data can 78 | # be removed. 79 | echo 'Generating optimized images for the online mapper…'; 80 | mkdir -p mapper; 81 | imagemin minimap-without-markers/Minimap_*.png --out-dir=mapper; 82 | 83 | # Generate a list of known tile IDs, for online map viewers to use as a 84 | # whitelist. 85 | # Note: in Bash, file redirection occurs *before* the command is executed. 86 | # Because `tiles.json` shouldn’t get an entry in, well, `tiles.json`, we create 87 | # it outside of the `mapper` folder first, and move it afterwards. 88 | python -c 'import os, json; print(json.dumps([name.split(".")[0][14:] for name in os.listdir("mapper") if "_Color_" in name], separators=(",", ":")))' > tiles.json; 89 | mv tiles.json mapper/tiles.json; 90 | 91 | echo 'All done.'; 92 | -------------------------------------------------------------------------------- /scripts/disable-marker-pack.mjs: -------------------------------------------------------------------------------- 1 | import fs from 'node:fs'; 2 | import path from 'node:path'; 3 | import url from 'node:url'; 4 | 5 | const __filename = url.fileURLToPath(import.meta.url); 6 | const __dirname = path.dirname(__filename); 7 | 8 | // Example usage: 9 | // node scripts/disable-marker-pack.mjs 'lightbearer' 10 | // node scripts/disable-marker-pack.mjs 'some-other-category' 11 | const SPECIAL_ID = process.argv[2]; 12 | 13 | const readJSON = (filePath) => { 14 | const absolutePath = path.resolve(__dirname, filePath); 15 | const string = fs.readFileSync(absolutePath, 'utf8').toString(); 16 | const data = JSON.parse(string); 17 | return data; 18 | }; 19 | 20 | const writeJSON = (filePath, data) => { 21 | const absolutePath = path.resolve(__dirname, filePath); 22 | const json = JSON.stringify(data, null, '\t') + '\n'; 23 | fs.writeFileSync(absolutePath, json); 24 | }; 25 | 26 | const hash = (marker) => `${marker.x},${marker.y},${marker.z}`; 27 | 28 | const hashes = new Set(); 29 | const markersToRemove = readJSON(`../extra/${SPECIAL_ID}/markers.json`); 30 | for (const marker of markersToRemove) { 31 | const id = hash(marker); 32 | hashes.add(id); 33 | } 34 | 35 | const currentMarkers = readJSON('../data/markers.json'); 36 | 37 | const result = currentMarkers.filter(marker => { 38 | const isPrivateMarker = marker.description.startsWith('//'); 39 | const id = hash(marker); 40 | const needsRemoval = hashes.has(id) || isPrivateMarker; 41 | return !needsRemoval; 42 | }); 43 | 44 | writeJSON('../data/markers.json', result); 45 | -------------------------------------------------------------------------------- /scripts/enable-marker-pack.mjs: -------------------------------------------------------------------------------- 1 | import fs from 'node:fs'; 2 | import path from 'node:path'; 3 | import url from 'node:url'; 4 | 5 | const __filename = url.fileURLToPath(import.meta.url); 6 | const __dirname = path.dirname(__filename); 7 | 8 | import { sortMarkers } from 'tibia-maps/src/sort-markers.mjs'; 9 | 10 | // Example usage: 11 | // node scripts/enable-marker-pack.mjs 'percht' 12 | // node scripts/enable-marker-pack.mjs 'orcsoberfest' 13 | // node scripts/enable-marker-pack.mjs 'lightbearer' # non-special case 14 | // node scripts/enable-marker-pack.mjs 'some-other-category' # non-special case 15 | const arg = process.argv[2]; 16 | 17 | const map = new Map([ 18 | ['percht', { old: 'orcsoberfest-island', new: 'percht-island' }], 19 | ['orcsoberfest', { old: 'percht-island', new: 'orcsoberfest-island' }], 20 | ]); 21 | const config = map.get(arg); 22 | const isSpecialCase = Boolean(config); 23 | const OLD_SPECIAL_ID = config && config.old; 24 | const NEW_SPECIAL_ID = config && config.new; 25 | 26 | const readJSON = (filePath) => { 27 | const absolutePath = path.resolve(__dirname, filePath); 28 | const string = fs.readFileSync(absolutePath, 'utf8').toString(); 29 | const data = JSON.parse(string); 30 | return data; 31 | }; 32 | 33 | const writeJSON = (filePath, data) => { 34 | const absolutePath = path.resolve(__dirname, filePath); 35 | const json = JSON.stringify(data, null, '\t') + '\n'; 36 | fs.writeFileSync(absolutePath, json); 37 | }; 38 | 39 | const hash = (marker) => `${marker.x},${marker.y},${marker.z}`; 40 | 41 | const hashes = new Set(); 42 | if (isSpecialCase) { 43 | const oldSpecialMarkers = readJSON(`../extra/${OLD_SPECIAL_ID}/markers.json`); 44 | for (const marker of oldSpecialMarkers) { 45 | const id = hash(marker); 46 | hashes.add(id); 47 | } 48 | } 49 | let currentMarkers = readJSON('../data/markers.json'); 50 | const newSpecialMarkers = readJSON(`../extra/${NEW_SPECIAL_ID || arg}/markers.json`); 51 | 52 | if (isSpecialCase) { 53 | currentMarkers = currentMarkers.filter(marker => { 54 | const id = hash(marker); 55 | return !hashes.has(id); 56 | }); 57 | } 58 | 59 | const result = sortMarkers([...currentMarkers, ...newSpecialMarkers]); 60 | 61 | writeJSON('../data/markers.json', result); 62 | -------------------------------------------------------------------------------- /scripts/enable-pack.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Navigate to the root of the repository. 4 | cd "$(dirname "${BASH_SOURCE}")/.."; 5 | 6 | # Ensure `tibia-maps` is in the PATH on CI. 7 | PATH="${PATH}:$(pwd)/node_modules/.bin"; 8 | 9 | if [ -z "${1}" ]; then 10 | echo 'No argument supplied. Example usage:'; 11 | echo ''; 12 | echo 'scripts/enable-pack.sh orcsoberfest'; 13 | echo 'scripts/enable-pack.sh percht'; 14 | exit 0; 15 | fi; 16 | 17 | if [ 'orcsoberfest' != "${1}" ] && [ 'percht' != "${1}" ]; then 18 | echo "Invalid argument. Try 'orcsoberfest' or 'percht'."; 19 | exit 0; 20 | fi; 21 | 22 | echo 'Generating minimap files…'; 23 | tibia-maps --from-data=data --output-dir=minimap; 24 | echo "Merging minimap files from the \`${1}-island\` pack…"; 25 | cp -f extra/"${1}"-island/*.png minimap; 26 | echo 'Converting updated minimap back to `data/*`…'; 27 | tibia-maps --from-minimap=./minimap --output-dir=./data; 28 | echo 'Updating markers…'; 29 | node scripts/enable-marker-pack.mjs "${1}"; 30 | -------------------------------------------------------------------------------- /scripts/move-to-extra.mjs: -------------------------------------------------------------------------------- 1 | import fs from 'node:fs'; 2 | import path from 'node:path'; 3 | import url from 'node:url'; 4 | 5 | const __filename = url.fileURLToPath(import.meta.url); 6 | const __dirname = path.dirname(__filename); 7 | 8 | import { sortMarkers } from 'tibia-maps/src/sort-markers.mjs'; 9 | 10 | const SPECIAL_ID = 'rapid-respawn'; 11 | 12 | const isSpecial = (marker) => { 13 | return marker.description === 'Troll champion (fire bomb spot)'; 14 | // https://tibiamaps.io/map#33686,30971,9:1 15 | const TOP_LEFT_COORDINATE = { x: 33686, y: 30971 }; 16 | // https://tibiamaps.io/map#33862,31136,9:1 17 | const BOTTOM_RIGHT_COORDINATE = { x: 33862, y: 31136 }; 18 | const HIGHEST_FLOOR = 1; 19 | const LOWEST_FLOOR = 9; 20 | const isWithinX = ( 21 | marker.x >= TOP_LEFT_COORDINATE.x && 22 | marker.x <= BOTTOM_RIGHT_COORDINATE.x 23 | ); 24 | const isWithinY = ( 25 | marker.y >= TOP_LEFT_COORDINATE.y && 26 | marker.y <= BOTTOM_RIGHT_COORDINATE.y 27 | ); 28 | const isWithinZ = ( 29 | marker.z >= HIGHEST_FLOOR && marker.z <= LOWEST_FLOOR 30 | ); 31 | return isWithinX && isWithinY && isWithinZ; 32 | }; 33 | 34 | const readJSON = (filePath) => { 35 | const absolutePath = path.resolve(__dirname, filePath); 36 | const string = fs.readFileSync(absolutePath, 'utf8').toString(); 37 | const data = JSON.parse(string); 38 | return data; 39 | }; 40 | 41 | const writeJSON = (filePath, data) => { 42 | const absolutePath = path.resolve(__dirname, filePath); 43 | const json = JSON.stringify(data, null, '\t') + '\n'; 44 | fs.writeFileSync(absolutePath, json); 45 | }; 46 | 47 | const writeOrUpdateJSON = (filePath, data) => { 48 | const absolutePath = path.resolve(__dirname, filePath); 49 | if (fs.existsSync(absolutePath)) { 50 | const oldData = readJSON(filePath); 51 | data = [...oldData, ...data]; 52 | sortMarkers(data); 53 | } else { 54 | fs.mkdirSync(path.dirname(absolutePath), { recursive: true }); 55 | } 56 | writeJSON(absolutePath, data); 57 | }; 58 | 59 | const specials = []; 60 | const rest = []; 61 | const oldMarkers = readJSON('../data/markers.json'); 62 | for (const oldMarker of oldMarkers) { 63 | if (isSpecial(oldMarker)) { 64 | specials.push(oldMarker); 65 | } else { 66 | rest.push(oldMarker); 67 | } 68 | } 69 | 70 | writeJSON('../data/markers.json', rest); 71 | writeOrUpdateJSON(`../extra/${SPECIAL_ID}/markers.json`, specials); 72 | -------------------------------------------------------------------------------- /scripts/sort-markers.mjs: -------------------------------------------------------------------------------- 1 | import fs from 'node:fs'; 2 | import path from 'node:path'; 3 | import url from 'node:url'; 4 | 5 | const __filename = url.fileURLToPath(import.meta.url); 6 | const __dirname = path.dirname(__filename); 7 | 8 | import { sortMarkers } from 'tibia-maps/src/sort-markers.mjs'; 9 | 10 | // Example usage: 11 | // node scripts/sort-markers.mjs path/to/markers.json 12 | const arg = process.argv[2]; 13 | 14 | const readJSON = (filePath) => { 15 | const absolutePath = path.resolve(__dirname, '..', filePath); 16 | const string = fs.readFileSync(absolutePath, 'utf8').toString(); 17 | const data = JSON.parse(string); 18 | return data; 19 | }; 20 | 21 | const writeJSON = (filePath, data) => { 22 | const absolutePath = path.resolve(__dirname, '..', filePath); 23 | const json = JSON.stringify(data, null, '\t') + '\n'; 24 | fs.writeFileSync(absolutePath, json); 25 | }; 26 | 27 | const set = new Set(); 28 | const dedupe = (markers) => { 29 | const deduped = []; 30 | for (const marker of markers) { 31 | const hash = JSON.stringify(marker); 32 | if (set.has(hash)) { 33 | continue; 34 | } 35 | deduped.push(marker); 36 | set.add(hash); 37 | } 38 | return deduped; 39 | }; 40 | 41 | const markers = dedupe(readJSON(arg)); 42 | sortMarkers(markers); 43 | writeJSON(arg, markers); 44 | --------------------------------------------------------------------------------