Module:StrangelandsCreatureData: Difference between revisions

From UO Outlands Wiki
Jump to navigation Jump to search
(Updated to reflect the creature difficulty rebalances and decided to remove diseased varients (as they share the same stats))
m (Actually pasted the right data (*facepalms*))
 
Line 1: Line 1:
local p = {
local p = {
  ["Ankheg"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 22.4,
    ["goldvalue"] = 224,
    ["uniquescalar"] = 1.25,
    ["hits"] = 1500,
    ["minmeleedmg"] = 25,
    ["maxmeleedmg"] = 35,
    ["wrestling"] = 80,
    ["armor"] = 75,
    ["magicresist"] = 25,
    ["poisoning"] = 50,
    ["poisonresist"] = 0.4,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "Slow",
  },
   ["Bullvore"] = {
   ["Bullvore"] = {
     ["location"] = "Strangelands",
     ["location"] = "Strangelands",
Line 47: Line 30:
     ["speed"] = "VeryFast",
     ["speed"] = "VeryFast",
   },
   },
   ["Diseased Ankheg"] = {
   ["Ankheg"] = {
     ["location"] = "Strangelands",
     ["location"] = "Strangelands",
     ["difficulty"] = 22.4,
     ["difficulty"] = 22.4,
Line 64: Line 47:
     ["speed"] = "Slow",
     ["speed"] = "Slow",
   },
   },
   ["Diseased Bullvore"] = {
   ["Primordial"] = {
     ["location"] = "Strangelands",
     ["location"] = "Strangelands",
     ["difficulty"] = 31.9,
     ["difficulty"] = 12.4,
     ["goldvalue"] = 320,
     ["goldvalue"] = 125,
     ["uniquescalar"] = 1.1,
     ["uniquescalar"] = 1.1,
     ["hits"] = 2000,
     ["hits"] = 1000,
    ["minmeleedmg"] = 35,
    ["maxmeleedmg"] = 45,
    ["wrestling"] = 90,
    ["armor"] = 50,
    ["magicresist"] = 25,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "Fast",
  },
  ["Diseased Devilbat"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 20.8,
    ["goldvalue"] = 208,
    ["uniquescalar"] = 1.25,
    ["hits"] = 1500,
     ["minmeleedmg"] = 15,
     ["minmeleedmg"] = 15,
     ["maxmeleedmg"] = 25,
     ["maxmeleedmg"] = 25,
     ["wrestling"] = 85,
     ["wrestling"] = 80,
     ["armor"] = 25,
     ["armor"] = 25,
     ["magicresist"] = 25,
     ["magicresist"] = 25,
Line 94: Line 62:
     ["speed"] = "VeryFast",
     ["speed"] = "VeryFast",
   },
   },
   ["Diseased Giant Slug"] = {
   ["Stalker"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 6.5,
    ["goldvalue"] = 65,
    ["uniquescalar"] = 1.14,
    ["hits"] = 600,
    ["minmeleedmg"] = 10,
    ["maxmeleedmg"] = 20,
    ["wrestling"] = 50,
    ["armor"] = 25,
    ["magicresist"] = 25,
    ["poisonresist"] = 0.4,
    ["slayer"] = "Nature",
    ["ai"] = "Melee",
    ["speed"] = "Slow",
  },
  ["Diseased Giant Spider"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 15.7,
    ["goldvalue"] = 157,
    ["uniquescalar"] = 1.1,
    ["hits"] = 1200,
    ["minmeleedmg"] = 15,
    ["maxmeleedmg"] = 25,
    ["wrestling"] = 80,
    ["armor"] = 25,
    ["magicresist"] = 25,
    ["poisontype"] = "Deadly",
    ["poisoning"] = 50,
    ["poisonresist"] = 0.6,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "Medium",
  },
  ["Diseased Great Hart"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 6,
    ["goldvalue"] = 60,
    ["uniquescalar"] = 1,
    ["hits"] = 600,
    ["minmeleedmg"] = 10,
    ["maxmeleedmg"] = 20,
    ["wrestling"] = 60,
    ["armor"] = 25,
    ["magicresist"] = 25,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "Fast",
  },
  ["Diseased Guar"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 7.6,
    ["goldvalue"] = 76,
    ["uniquescalar"] = 1,
    ["hits"] = 800,
    ["minmeleedmg"] = 10,
    ["maxmeleedmg"] = 20,
    ["wrestling"] = 50,
    ["armor"] = 50,
    ["magicresist"] = 25,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "Medium",
  },
  ["Diseased Stalker"] = {
     ["location"] = "Strangelands",
     ["location"] = "Strangelands",
     ["difficulty"] = 25.8,
     ["difficulty"] = 25.8,
Line 237: Line 141:
     ["ai"] = "Melee",
     ["ai"] = "Melee",
     ["speed"] = "Medium",
     ["speed"] = "Medium",
  },
  ["Primordial"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 12.4,
    ["goldvalue"] = 125,
    ["uniquescalar"] = 1.1,
    ["hits"] = 1000,
    ["minmeleedmg"] = 15,
    ["maxmeleedmg"] = 25,
    ["wrestling"] = 80,
    ["armor"] = 25,
    ["magicresist"] = 25,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "VeryFast",
  },
  ["Primordial"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 12.4,
    ["goldvalue"] = 125,
    ["uniquescalar"] = 1.1,
    ["hits"] = 1000,
    ["minmeleedmg"] = 15,
    ["maxmeleedmg"] = 25,
    ["wrestling"] = 80,
    ["armor"] = 25,
    ["magicresist"] = 25,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "VeryFast",
  },
  ["Stalker"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 25.8,
    ["goldvalue"] = 259,
    ["uniquescalar"] = 1.2,
    ["hits"] = 1500,
    ["minmeleedmg"] = 30,
    ["maxmeleedmg"] = 40,
    ["wrestling"] = 90,
    ["armor"] = 25,
    ["magicresist"] = 25,
    ["stealth"] = "X",
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "VeryFast",
   },
   },
   ["Strangehell Deathstalk"] = {
   ["Strangehell Deathstalk"] = {
Line 364: Line 222:
     ["magicresist"] = 50,
     ["magicresist"] = 50,
     ["atkspd"] = 45,
     ["atkspd"] = 45,
    ["poisonresist"] = 0.2,
     ["slayer"] = "Humanoid",
     ["slayer"] = "Humanoid",
     ["ai"] = "Melee",
     ["ai"] = "Ranged",
     ["speed"] = "Medium",
     ["speed"] = "Medium",
   },
   },

Latest revision as of 03:13, 28 November 2025

Documentation for this module may be created at Module:StrangelandsCreatureData/doc

local p = {
  ["Bullvore"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 31.9,
    ["goldvalue"] = 320,
    ["uniquescalar"] = 1.1,
    ["hits"] = 2000,
    ["minmeleedmg"] = 35,
    ["maxmeleedmg"] = 45,
    ["wrestling"] = 90,
    ["armor"] = 50,
    ["magicresist"] = 25,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "Fast",
  },
  ["Devilbat"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 20.8,
    ["goldvalue"] = 208,
    ["uniquescalar"] = 1.25,
    ["hits"] = 1500,
    ["minmeleedmg"] = 15,
    ["maxmeleedmg"] = 25,
    ["wrestling"] = 85,
    ["armor"] = 25,
    ["magicresist"] = 25,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "VeryFast",
  },
  ["Ankheg"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 22.4,
    ["goldvalue"] = 224,
    ["uniquescalar"] = 1.25,
    ["hits"] = 1500,
    ["minmeleedmg"] = 25,
    ["maxmeleedmg"] = 35,
    ["wrestling"] = 80,
    ["armor"] = 75,
    ["magicresist"] = 25,
    ["poisoning"] = 50,
    ["poisonresist"] = 0.4,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "Slow",
  },
  ["Primordial"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 12.4,
    ["goldvalue"] = 125,
    ["uniquescalar"] = 1.1,
    ["hits"] = 1000,
    ["minmeleedmg"] = 15,
    ["maxmeleedmg"] = 25,
    ["wrestling"] = 80,
    ["armor"] = 25,
    ["magicresist"] = 25,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "VeryFast",
  },
  ["Stalker"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 25.8,
    ["goldvalue"] = 259,
    ["uniquescalar"] = 1.2,
    ["hits"] = 1500,
    ["minmeleedmg"] = 30,
    ["maxmeleedmg"] = 40,
    ["wrestling"] = 90,
    ["armor"] = 25,
    ["magicresist"] = 25,
    ["stealth"] = "X",
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "VeryFast",
  },
  ["Giant Slug"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 6.5,
    ["goldvalue"] = 65,
    ["uniquescalar"] = 1.14,
    ["hits"] = 600,
    ["minmeleedmg"] = 10,
    ["maxmeleedmg"] = 20,
    ["wrestling"] = 50,
    ["armor"] = 25,
    ["magicresist"] = 25,
    ["poisonresist"] = 0.4,
    ["slayer"] = "Nature",
    ["ai"] = "Melee",
    ["speed"] = "Slow",
  },
  ["Giant Spider"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 15.7,
    ["goldvalue"] = 157,
    ["uniquescalar"] = 1.1,
    ["hits"] = 1200,
    ["minmeleedmg"] = 15,
    ["maxmeleedmg"] = 25,
    ["wrestling"] = 80,
    ["armor"] = 25,
    ["magicresist"] = 25,
    ["poisontype"] = "Deadly",
    ["poisoning"] = 50,
    ["poisonresist"] = 0.6,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "Medium",
  },
  ["Great Hart"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 6,
    ["goldvalue"] = 60,
    ["uniquescalar"] = 1,
    ["hits"] = 600,
    ["minmeleedmg"] = 10,
    ["maxmeleedmg"] = 20,
    ["wrestling"] = 60,
    ["armor"] = 25,
    ["magicresist"] = 25,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "Fast",
  },
  ["Guar"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 7.6,
    ["goldvalue"] = 76,
    ["uniquescalar"] = 1,
    ["hits"] = 800,
    ["minmeleedmg"] = 10,
    ["maxmeleedmg"] = 20,
    ["wrestling"] = 50,
    ["armor"] = 50,
    ["magicresist"] = 25,
    ["slayer"] = "Beastial",
    ["ai"] = "Melee",
    ["speed"] = "Medium",
  },
  ["Strangehell Deathstalk"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 47.1,
    ["goldvalue"] = 472,
    ["uniquescalar"] = 1.3,
    ["hits"] = 2500,
    ["minmeleedmg"] = 25,
    ["maxmeleedmg"] = 35,
    ["wrestling"] = 130,
    ["armor"] = 25,
    ["magicresist"] = 200,
    ["poisonresist"] = 0.2,
    ["slayer"] = "Nature",
    ["ai"] = "Melee",
    ["speed"] = "VeryFast",
  },
  ["Strangehell Lashweed"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 27.4,
    ["goldvalue"] = 275,
    ["uniquescalar"] = 1.5,
    ["hits"] = 1500,
    ["minmeleedmg"] = 15,
    ["maxmeleedmg"] = 25,
    ["wrestling"] = 110,
    ["armor"] = 25,
    ["magicresist"] = 100,
    ["poisontype"] = "Greater",
    ["poisoning"] = 25,
    ["poisonresist"] = 0.2,
    ["slayer"] = "Monstrous",
    ["ai"] = "Ranged",
    ["speed"] = "Fast",
  },
  ["Strangehell Spikebush"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 40.7,
    ["goldvalue"] = 408,
    ["uniquescalar"] = 1.5,
    ["hits"] = 2500,
    ["minmeleedmg"] = 15,
    ["maxmeleedmg"] = 25,
    ["wrestling"] = 100,
    ["armor"] = 50,
    ["magicresist"] = 200,
    ["poisonresist"] = 0.2,
    ["slayer"] = "Nature",
    ["ai"] = "Melee",
    ["speed"] = "Fast",
  },
  ["Strangehell Vines"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 25.6,
    ["goldvalue"] = 256,
    ["uniquescalar"] = 1.2,
    ["hits"] = 1500,
    ["minmeleedmg"] = 15,
    ["maxmeleedmg"] = 25,
    ["wrestling"] = 120,
    ["armor"] = 25,
    ["magicresist"] = 100,
    ["poisontype"] = "Deadly",
    ["poisoning"] = 50,
    ["poisonresist"] = 0.4,
    ["slayer"] = "Nature",
    ["ai"] = "Melee",
    ["speed"] = "VeryFast",
  },
  ["Stranger"] = {
    ["location"] = "Strangelands",
    ["difficulty"] = 10.8,
    ["goldvalue"] = 109,
    ["uniquescalar"] = 1,
    ["hits"] = 1200,
    ["minmeleedmg"] = 15,
    ["maxmeleedmg"] = 25,
    ["wrestling"] = 85,
    ["armor"] = 50,
    ["magicresist"] = 50,
    ["atkspd"] = 45,
    ["slayer"] = "Humanoid",
    ["ai"] = "Ranged",
    ["speed"] = "Medium",
  },
}

-- Helper function to add comma's between numbers
function FormatInt(int)
    int = string.reverse(int)

    if string.len(int) > 3 and string.len(int) < 6 then
        int = string.gsub(int, "(%d%d%d)", "%1,")
    elseif string.len(int) == 6 then
        int = string.gsub(int, "(%d%d%d)(%d%d%d)", "%1,%2")
    elseif string.len(int) > 6 and string.len(int) < 9 then
        int = string.gsub(int, "(%d%d%d)(%d%d%d)", "%1,%2,")
    end

    int = string.reverse(int)

    return int
end

-- Fill out or format values
for index, creature in pairs(p) do
    local defaultStatArray = {
        ["location"] = "Strangelands",
        ["difficulty"] = "?",
        ["goldvalue"] = "?",
        ["hits"] = "?",
        ["minmeleedmg"] = "",
        ["maxmeleedmg"] = "",
        ["wrestling"] = "",
        ["armor"] = "",
        ["magicresist"] = "",
        ["parry"] = "",
        ["atkspd"] = "?",
        ["magery"] = "",
        ["minspelldmg"] = "",
        ["maxspelldmg"] = "",
        ["poisontype"] = "",
        ["poisoning"] = "",
        ["poisonresist"] = "",
        ["stealth"] = "",
        ["slayer"] = "?",
        ["ai"] = "?",
        ["speed"] = "?",
        ["uniquescalar"] = "?",
        ["bosstype"] = "",
        ["armormin"] = "",
        ["magicresistmin"] = "",
        ["poisonresistmin"] = "",
    }

    if type(creature.location) == "table" then
        local locations = ""
        for i, spawnLocation in pairs(creature.location) do
            if locations ~= "" then
                locations = locations .. "<br>"
            end

            locations = locations .. "[[" .. spawnLocation .. "]]"
        end
        creature.location = locations
    elseif type(creature.location) == "string" and creature.location ~= "?" then
        creature.location = "[[" .. creature.location .. "]]"
    end

    if type(creature.goldvalue) == "number" then
        creature.goldvalue = FormatInt(creature.goldvalue)
    end

    if type(creature.hits) == "number" then
        creature.unformattedhits = creature.hits
        creature.hits = FormatInt(creature.hits)
    end

    if creature.armormin then
        creature.armormin = "<br>(" .. creature.armormin .. " min)"
    end

    if creature.magicresistmin then
        creature.magicresistmin = "<br>(" .. creature.magicresistmin .. " min)"
    end

    if creature.poisonresistmin then
        creature.poisonresistmin = "<br>(" .. creature.poisonresistmin .. " min)"
    end

    if creature.poisonresist then
        creature.poisonresist = (creature.poisonresist * 100) .. "%"
    end

    if creature.specialresist then
        creature.specialresist = (creature.specialresist * 100) .. "%"
    end

    if creature.minmeleedmg and creature.minmeleedmg ~= creature.maxmeleedmg then
        creature.minmeleedmg = creature.minmeleedmg .. " - "
    elseif creature.minmeleedmg == creature.maxmeleedmg then
        creature.maxmeleedmg = ""
    end

    if creature.minspelldmg and creature.minspelldmg ~= creature.maxspelldmg then
        creature.minspelldmg = creature.minspelldmg .. " - "
    elseif creature.minspelldmg == creature.maxspelldmg then
        creature.maxspelldmg = ""
    end

    if creature.tometier then
        creature.tometier = " (Tier " .. creature.tometier .. ")"
    end

    for stat, defaultValue in pairs(defaultStatArray) do
        if creature[stat] == nil then
            creature[stat] = defaultValue
        end
    end
end

return p