-----------------------------------
-- Area: North Gustaberg
--   NM: Bedrock Barry
-----------------------------------
---@type TMobEntity
local entity = {}

entity.spawnPoints =
{
    { x = -189.000, y =  -0.650, z = 268.000 },
    { x = -130.000, y =   0.000, z = 279.000 },
    { x = -161.000, y =   0.000, z = 243.000 },
    { x = -203.000, y =  -0.650, z = 205.000 },
    { x = -179.000, y =   2.400, z = 236.000 },
    { x = -226.000, y =  -0.650, z = 203.000 },
    { x = -202.000, y =  -0.650, z = 159.000 },
    { x = -121.000, y =  -0.650, z = 129.000 },
    { x = -131.000, y =  -1.650, z =  69.000 },
    { x = -189.000, y =  -0.650, z = 268.000 },
    { x = -189.000, y =  -0.650, z = 268.000 },
    { x = -130.000, y =   0.000, z = 279.000 },
    { x = -161.000, y =   0.000, z = 243.000 },
    { x = -203.000, y =  -0.650, z = 205.000 },
    { x = -179.000, y =   2.400, z = 236.000 },
    { x = -226.000, y =  -0.650, z = 203.000 },
    { x = -202.000, y =  -0.650, z = 159.000 },
    { x = -121.000, y =  -0.650, z = 129.000 },
    { x = -131.000, y =  -1.650, z =  69.000 },
    { x = -189.000, y =  -0.650, z = 268.000 },
    { x = -189.000, y =  -0.650, z = 268.000 },
    { x = -130.000, y =   0.000, z = 279.000 },
    { x = -161.000, y =   0.000, z = 243.000 },
    { x = -203.000, y =  -0.650, z = 205.000 },
    { x = -179.000, y =   2.400, z = 236.000 },
    { x = -226.000, y =  -0.650, z = 203.000 },
    { x = -202.000, y =  -0.650, z = 159.000 },
    { x = -121.000, y =  -0.650, z = 129.000 },
    { x = -131.000, y =  -1.650, z =  69.000 },
    { x = -189.000, y =  -0.650, z = 268.000 },
    { x = -189.000, y =  -0.650, z = 268.000 },
    { x = -130.000, y =   0.000, z = 279.000 },
    { x = -161.000, y =   0.000, z = 243.000 },
    { x = -203.000, y =  -0.650, z = 205.000 },
    { x = -179.000, y =   2.400, z = 236.000 },
    { x = -226.000, y =  -0.650, z = 203.000 },
    { x = -202.000, y =  -0.650, z = 159.000 },
    { x = -121.000, y =  -0.650, z = 129.000 },
    { x = -131.000, y =  -1.650, z =  69.000 },
    { x = -189.000, y =  -0.650, z = 268.000 },
    { x = -189.000, y =  -0.650, z = 268.000 },
    { x = -130.000, y =   0.000, z = 279.000 },
    { x = -161.000, y =   0.000, z = 243.000 },
    { x = -203.000, y =  -0.650, z = 205.000 },
    { x = -179.000, y =   2.400, z = 236.000 },
    { x = -226.000, y =  -0.650, z = 203.000 },
    { x = -202.000, y =  -0.650, z = 159.000 },
    { x = -121.000, y =  -0.650, z = 129.000 },
    { x = -131.000, y =  -1.650, z =  69.000 },
    { x = -189.000, y =  -0.650, z = 268.000 },
}

entity.onMobInitialize = function(mob)
    xi.mob.updateNMSpawnPoint(mob)
    mob:setRespawnTime(math.random(3600, 4200)) -- When server restarts, reset timer
end

entity.onMobSpawn = function(mob)
    mob:addStatusEffect(xi.effect.STONESKIN, math.random(30, 40), 0, 300)
end

entity.onMobDeath = function(mob, player, optParams)
    xi.hunts.checkHunt(mob, player, 199)
    xi.regime.checkRegime(player, mob, 16, 1, xi.regime.type.FIELDS)
end

entity.onMobDespawn = function(mob)
    xi.mob.updateNMSpawnPoint(mob)
    mob:setRespawnTime(3600) -- 1 hour.
end

return entity
