Files
ROSS/webtools/maps.json
T
Thomas e0d1f629db Add NPC/monster spawn browser with map and monster names to webtools
Map names now come from LIST_ZONE.STB (row index = map id, matching
CWorldServer::LoadZoneData). New NPCs tab lists all placed NPCs from
list_npcs with coordinates; new Monsters tab lists all 1,193 named montypes
from LIST_NPC.STB. Both are click-to-copy GM commands (/tele, /mon) for
quick GM navigation/spawning.
2026-07-10 14:20:12 +02:00

334 lines
5.6 KiB
JSON

[
{
"id": 1,
"name": "Canyon City of Zant",
"spawnPoints": 45,
"totalMonsters": 225,
"npcCount": 22,
"bounds": {
"minX": 5097,
"maxX": 5500,
"minY": 5050,
"maxY": 5448
}
},
{
"id": 2,
"name": "City of Junon Polis",
"spawnPoints": 43,
"totalMonsters": 92,
"npcCount": 27,
"bounds": {
"minX": 5075,
"maxX": 5767,
"minY": 5433,
"maxY": 5535
}
},
{
"id": 3,
"name": "Dolphin Island",
"spawnPoints": 0,
"totalMonsters": 0,
"npcCount": 1,
"bounds": null
},
{
"id": 5,
"name": "Junon Cartel",
"spawnPoints": 0,
"totalMonsters": 0,
"npcCount": 2,
"bounds": null
},
{
"id": 6,
"name": "Crusader Training Camp",
"spawnPoints": 0,
"totalMonsters": 0,
"npcCount": 1,
"bounds": null
},
{
"id": 9,
"name": "주논카르텔",
"spawnPoints": 0,
"totalMonsters": 0,
"npcCount": 2,
"bounds": null
},
{
"id": 11,
"name": "Junon Clan Field",
"spawnPoints": 0,
"totalMonsters": 0,
"npcCount": 4,
"bounds": null
},
{
"id": 12,
"name": "Junon Clan Field",
"spawnPoints": 0,
"totalMonsters": 0,
"npcCount": 4,
"bounds": null
},
{
"id": 13,
"name": "Junon Clan Field",
"spawnPoints": 0,
"totalMonsters": 0,
"npcCount": 4,
"bounds": null
},
{
"id": 15,
"name": "클랜아지트",
"spawnPoints": 0,
"totalMonsters": 0,
"npcCount": 18,
"bounds": null
},
{
"id": 20,
"name": "Birth Island",
"spawnPoints": 46,
"totalMonsters": 455,
"npcCount": 5,
"bounds": {
"minX": 5030,
"maxX": 5713,
"minY": 4738,
"maxY": 5375
},
"note": "default respawn/town map (townid=20 in characters table)"
},
{
"id": 21,
"name": "Valley of Luxem Tower",
"spawnPoints": 43,
"totalMonsters": 183,
"npcCount": 3,
"bounds": {
"minX": 5098,
"maxX": 5435,
"minY": 5053,
"maxY": 5505
}
},
{
"id": 22,
"name": "Adventurer's Plains",
"spawnPoints": 52,
"totalMonsters": 415,
"npcCount": 9,
"bounds": {
"minX": 4983,
"maxX": 5748,
"minY": 4995,
"maxY": 5485
}
},
{
"id": 23,
"name": "Breezy Hills",
"spawnPoints": 44,
"totalMonsters": 201,
"npcCount": 4,
"bounds": {
"minX": 5053,
"maxX": 5512,
"minY": 4900,
"maxY": 5498
}
},
{
"id": 24,
"name": "El Verloon Desert",
"spawnPoints": 63,
"totalMonsters": 281,
"npcCount": 3,
"bounds": {
"minX": 5053,
"maxX": 5685,
"minY": 4998,
"maxY": 5530
}
},
{
"id": 25,
"name": "Anima Lake",
"spawnPoints": 74,
"totalMonsters": 232,
"npcCount": 3,
"bounds": {
"minX": 5023,
"maxX": 5688,
"minY": 4871,
"maxY": 5520
}
},
{
"id": 26,
"name": "Forest of Wisdom",
"spawnPoints": 97,
"totalMonsters": 241,
"npcCount": 1,
"bounds": {
"minX": 5053,
"maxX": 5695,
"minY": 4873,
"maxY": 5544
}
},
{
"id": 27,
"name": "Kenji Beach",
"spawnPoints": 100,
"totalMonsters": 250,
"npcCount": 5,
"bounds": {
"minX": 5005,
"maxX": 5831,
"minY": 4979,
"maxY": 5509
}
},
{
"id": 28,
"name": "Gorge of Silence",
"spawnPoints": 55,
"totalMonsters": 126,
"npcCount": 1,
"bounds": {
"minX": 5027,
"maxX": 5567,
"minY": 4769,
"maxY": 5518
}
},
{
"id": 31,
"name": "Goblin Cave (B1)",
"spawnPoints": 27,
"totalMonsters": 75,
"npcCount": 0,
"bounds": {
"minX": 5028,
"maxX": 5446,
"minY": 5057,
"maxY": 5449
}
},
{
"id": 32,
"name": "Goblin Cave (B2)",
"spawnPoints": 31,
"totalMonsters": 74,
"npcCount": 0,
"bounds": {
"minX": 5079,
"maxX": 5523,
"minY": 5138,
"maxY": 5541
}
},
{
"id": 33,
"name": "Goblin Cave (B3)",
"spawnPoints": 2,
"totalMonsters": 20,
"npcCount": 0,
"bounds": {
"minX": 5246,
"maxX": 5251,
"minY": 5352,
"maxY": 5372
}
},
{
"id": 37,
"name": "Sunshine Coast",
"spawnPoints": 0,
"totalMonsters": 0,
"npcCount": 1,
"bounds": null
},
{
"id": 38,
"name": "Santa Planetoid",
"spawnPoints": 7,
"totalMonsters": 53,
"npcCount": 2,
"bounds": {
"minX": 5080,
"maxX": 5164,
"minY": 5371,
"maxY": 5478
}
},
{
"id": 40,
"name": "Grand Ballroom",
"spawnPoints": 0,
"totalMonsters": 0,
"npcCount": 1,
"bounds": null
},
{
"id": 51,
"name": "Magic City of the Eucar",
"spawnPoints": 35,
"totalMonsters": 103,
"npcCount": 9,
"bounds": {
"minX": 5048,
"maxX": 5640,
"minY": 4710,
"maxY": 5296
}
},
{
"id": 52,
"name": "Mana Snowfields",
"spawnPoints": 49,
"totalMonsters": 176,
"npcCount": 0,
"bounds": {
"minX": 5041,
"maxX": 6111,
"minY": 4467,
"maxY": 5271
}
},
{
"id": 54,
"name": "Crystal Snowfields",
"spawnPoints": 56,
"totalMonsters": 156,
"npcCount": 1,
"bounds": {
"minX": 5057,
"maxX": 5645,
"minY": 4285,
"maxY": 5313
}
},
{
"id": 61,
"name": "피난처시타",
"spawnPoints": 0,
"totalMonsters": 0,
"npcCount": 17,
"bounds": null
},
{
"id": 62,
"name": "그림자정글",
"spawnPoints": 0,
"totalMonsters": 0,
"npcCount": 8,
"bounds": null
}
]