You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
local MDT = MDT
|
|
|
|
|
|
|
|
|
|
-- A Schema describes the structure of a table. In it you can define how
|
|
|
|
|
-- tables should be exported to Lua. This makes it possible to
|
|
|
|
|
-- export a table to Lua while keeping the structure of the table consistent
|
|
|
|
|
-- even if the table is consisting of unindexed tables.
|
|
|
|
|
|
|
|
|
|
local schemas = {
|
|
|
|
|
["pois"] = {
|
|
|
|
|
name = "MDT.mapPOIs[dungeonIndex]",
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "schemaArray",
|
|
|
|
|
fields = {
|
|
|
|
|
{
|
|
|
|
|
name = "template",
|
|
|
|
|
type = "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "type",
|
|
|
|
|
type = "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "x",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "y",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "difficulty",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "scale",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "target",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "direction",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "connectionIndex",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "text",
|
|
|
|
|
type = "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "graveyardDescription",
|
|
|
|
|
type = "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "index",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "npcId",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "season",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "botType",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "botTypeIndex",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "textAnchor",
|
|
|
|
|
type = "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "textAnchorTo",
|
|
|
|
|
type = "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "tooltipText",
|
|
|
|
|
type = "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "doorName",
|
|
|
|
|
type = "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "lockpick",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "doorDescription",
|
|
|
|
|
type = "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "starIndex",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "formattedDoorDescription",
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "string"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "formattedText",
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "string"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "weeks",
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "boolean"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "value1",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "value2",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "value3",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
["enemies"] = {
|
|
|
|
|
name = "MDT.dungeonEnemies[dungeonIndex]",
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "schemaArray",
|
|
|
|
|
fields = {
|
|
|
|
|
{
|
|
|
|
|
name = "name",
|
|
|
|
|
type = "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "id",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "count",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "teemingCount",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "health",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "ignoreFortified",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "scale",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "neutral",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "stealth",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "stealthDetect",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "displayId",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "iconTexture",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "creatureType",
|
|
|
|
|
type = "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "level",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "isBoss",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "encounterID",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "instanceID",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "reaping",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "corrupted",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "bonusSpell",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "badCreatureModel",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "modelPosition",
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "number"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "include",
|
|
|
|
|
type = "schemaArray",
|
|
|
|
|
fields = {
|
|
|
|
|
{
|
|
|
|
|
name = "level",
|
|
|
|
|
type = "number",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "affix",
|
|
|
|
|
type = "number",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "powers",
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "schemaArray",
|
|
|
|
|
fields = {
|
|
|
|
|
{
|
|
|
|
|
name = "dps",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "healer",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "tank",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "characteristics",
|
|
|
|
|
type = "schemaArray",
|
|
|
|
|
fields = {
|
|
|
|
|
{
|
|
|
|
|
name = "Taunt",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Incapacitate",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Subjugate Demon",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Control Undead",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Silence",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Knock",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Grip",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Mind Control",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Shackle Undead",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Polymorph",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Root",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Fear",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Banish",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Disorient",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Repentance",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Imprison",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Sap",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Stun",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "Slow",
|
|
|
|
|
type = "boolean",
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "spells",
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "schemaArray",
|
|
|
|
|
fields = {
|
|
|
|
|
{
|
|
|
|
|
name = "interruptible",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "clones",
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "schemaArray",
|
|
|
|
|
fields = {
|
|
|
|
|
{
|
|
|
|
|
name = "x",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "y",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "g",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "sublevel",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "scale",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "inspiring",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "shrouded",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "disguised",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "note",
|
|
|
|
|
type = "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "upstairs",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "faction",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "blacktoothEvent",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "teeming",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "negativeTeeming",
|
|
|
|
|
type = "boolean"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "patrolFacing",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "patrolFacing2",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "patrol",
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "schemaArray",
|
|
|
|
|
fields = {
|
|
|
|
|
{
|
|
|
|
|
name = "x",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "y",
|
|
|
|
|
type = "number"
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "week",
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name = "infested",
|
|
|
|
|
type = "array",
|
|
|
|
|
fields = {
|
|
|
|
|
type = "boolean",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
--- @param schemaName "enemies" | "pois"
|
|
|
|
|
function MDT:GetSchema(schemaName)
|
|
|
|
|
return schemas[schemaName]
|
|
|
|
|
end
|