diff --git a/mudlet-mapper.xml b/mudlet-mapper.xml
index 844d4be..7018703 100644
--- a/mudlet-mapper.xml
+++ b/mudlet-mapper.xml
@@ -2023,6 +2023,7 @@ raiseEvent("mmapper updated pdb")
Login
0
0
0
@@ -2103,6 +2104,43 @@ end
+
+ Astaria
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+
+
+ Login
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ The Kingdom of Astaria
+
+
+ 3
+
+
+
Asteria
@@ -7094,7 +7132,7 @@ function mmp.gotoFeature(partialFeatureName, dashtype)
return
end
raiseEvent("mmp clear externals")
- mmp.gotoRoom(closestFeature, dashtype, "room")
+ mmp.gotoRoom(closestFeature, dashtype, "area")
end
RoomNum
@@ -10379,6 +10417,7 @@ end
if gmcp.Room.Info.num then
centerview(gmcp.Room.Info.num)
elseif gmcp.Room.Info.roomhash then
+ print(tostring(mmp.roomidFromHash(gmcp.Room.Info.roomhash)))
centerview(mmp.roomidFromHash(gmcp.Room.Info.roomhash))
end
end
@@ -10415,7 +10454,7 @@ local function makeroom(oldid, newid, x, y, z)
local fgr, fgg, fgb = unpack(color_table.red)
local bgr, bgg, bgb = unpack(color_table.blue)
highlightRoom(newid, fgr, fgg, fgb, bgr, bgg, bgb, 1, 100, 100)
- if mmp.envids[gmcp.Room.Info.environment] then
+ if mmp.game ~= "astaria" and mmp.envids[gmcp.Room.Info.environment] then
setRoomEnv(newid, mmp.envids[gmcp.Room.Info.environment])
else
setRoomEnv(newid, getRoomEnv(oldid))
@@ -10479,13 +10518,28 @@ local function getshiftedcoords(original, ox, oy, oz)
y = (y or oy)
z = (z or oz) + 1
else
+ -- Astaria has a lot of non-standard exits that the mapper doesn't like in hash based games
+ -- so I have sent them into the sky, they can be manually moved by the person mapping.
+ if game ~= "Astaria" then
mmp.echo(
"Don't know where to shift the coordinates for a " ..
tostring(w) ..
" (" ..
tostring(original) ..
+ ") exit. Setting to z+40"
+ )
+ x = (x or ox)
+ y = (y or oy)
+ z = (z or oz) + 40
+ else
+ mmp.echo(
+ "Don't know where to shift the coordinates for a " ..
+ tostring(w) ..
+ " (" ..
+ tostring(original) ..
") exit."
)
+ end
end
return x, y, z
end
@@ -10714,9 +10768,14 @@ function mmp.mappingNewroom(_, num)
gmcp.Room.Info.environment ..
"."
end
- -- check indoors status
+
+ -- check indoors status
if mmp.game ~= "asteria" or mmp.game ~= "ashyria" then
- local indoors = table.contains(gmcp.Room.Info.details, "indoors")
+ local indoors
+ if mmp.game ~= "astaria" then
+ indoors = table.contains(gmcp.Room.Info.details, "indoors")
+ else indoors = (gmcp.Room.Info.environment == "indoors")
+ end
if indoors and (getRoomUserData(num, "indoors") == '' or getRoomUserData(num,"outdoors") ~= '') then
setRoomUserData(num, "indoors", "y")
clearRoomUserDataItem(num, "outdoors")
@@ -10728,8 +10787,8 @@ function mmp.mappingNewroom(_, num)
end
end
- -- check server area name (Achaea only for now)
- if mmp.game == "achaea" then
+ -- check server area name (Achaea only for now, and Astaria now too)
+ if mmp.game == "astaria" or mmp.game == achaea then
local serverArea = gmcp.Room.Info.area
if serverArea ~= getRoomUserData(num, "Game Area") then
setRoomUserData(num, "Game Area", serverArea)
@@ -12148,85 +12207,70 @@ end
if game ~= "Astaria" then return end
mmp.envids =
{
- ["field"] = 3,
- -- old ones below
- ["a sheltered dell"] = 68,
- ["Arcane Temple"] = 66,
- ["Blackened Lands"] = 58,
- ["Blackstone Dungeon"] = 65,
- ["Blackstone Keep"] = 62,
- ["Constructed underground"] = 2,
- ["Dark Forest"] = 1,
- ["Deep Ocean"] = 24,
- ["Desert Ruins"] = 38,
- ["Dwarven city"] = 18,
- ["Forestal Council"] = 44,
- ["Frozen Bog"] = 76,
- ["Lake of Fire"] = 56,
- ["Natural underground"] = 3,
- ["Noble Bar"] = 53,
- ["Noble Chambers"] = 51,
- ["Rocky Shore"] = 77,
- ["Sylayan city"] = 19,
- ["Tainted Underground"] = 35,
- ["Tainted Water"] = 39,
- ["Underground Lake"] = 36,
- ["Vast Ocean"] = 26,
- ["Wetlands Village"] = 64,
- ["within a tent"] = 69,
- Academia = 42,
- Acropolis = 33,
- Beach = 5,
- Blighted = 74,
- bog = 73,
- Catacombs = 63,
- Church = 54,
- Cliffs = 67,
- Crags = 32,
- Desert = 6,
- Docks = 30,
- Farmland = 41,
- Forest = 4,
- Freshwater = 22,
- Garden = 21,
- garrison = 71,
- Grasslands = 7,
- Graveyard = 46,
- Hills = 9,
- Jungle = 17,
- Mountains = 14,
- Nobility = 50,
- Ocean = 20,
- Path = 11,
- Polar = 27,
- Pond = 49,
- pyramid = 72,
- quarry = 70,
- River = 10,
- Road = 12,
- Ruins = 37,
- Scrublands = 78,
- Sewer = 23,
- Swamp = 15,
- Temple = 57,
- Tower = 79,
- transportation = 48,
- Tundra = 16,
- Underworld = 28,
- Urban = 8,
- Valley = 13,
- Villa = 75,
- Village = 47,
- Volcano = 59,
- Warrens = 31,
- }
-
+ indoors = 272,
+ road = 259,
+ shallow = 262,
+ lake = 268,
+ river = 268,
+ deepriver = 260,
+ sea = 260,
+ waterline = 268,
+ swells = 268,
+ shallows = 268,
+ surf = 268,
+ undertoe = 268,
+ waves = 268,
+ seaswell = 268,
+ breakers = 268,
+ deepswells = 268,
+ reef = 268,
+ channel = 268,
+ shelf = 268,
+ opensea = 268,
+ bridge = 259,
+ sewer = 272,
+ desert = 267,
+ field = 258,
+ rocky = 259,
+ highlands = 259,
+ plain = 259,
+ shore = 262,
+ valley = 258,
+ forest = 258,
+ hills = 259,
+ moor = 258,
+ cave = 259,
+ badlands = 259,
+ deepforest = 258,
+ beach = 267,
+ jungle = 258,
+ swamp = 258,
+ mountain = 259,
+ peak = 259,
+ volcano = 257,
+ ud_street = 263,
+ ud_path = 272,
+ ud_rough = 272,
+ ud_indoors = 272,
+ ud_tough = 272,
+ dunes = 267,
+ sands = 267,
+ }
mmp.waterenvs = {}
- local waterids = { "River", "Ocean", "Deep Ocean", "Vast Ocean", "Underground Lake", "Tainted Water", "Lake of Fire" }
- for i = 1, #waterids do mmp.waterenvs[mmp.envids[waterids[i]]] = true end
+ mmp.envidsr = {}
+ for name, id in pairs(mmp.envids) do
+ mmp.envidsr[id] = name
+ end
+
+mmp.colorcodes = {}
+mmp.colorcodes[258] = {176, 224, 230, 255}
+mmp.colorcodes[259] = {160, 82, 45, 255}
- mmp.envidsr = {};
- for name, id in pairs(mmp.envids) do mmp.envidsr[id] = name end
+function mmp.setAstariaColorcodes()
+ for id, rgba in pairs(mmp.colorcodes) do
+ setCustomEnvColor(id, rgba[1], rgba[2], rgba[3], rgba[4])
+ end
+ end
end
mmp logged in
@@ -13002,7 +13046,7 @@ end
-
-
-
+
+
+