mirror of
https://github.com/ProjectEQ/projecteqquests
synced 2026-08-12 00:26:10 -04:00
44 lines
1.6 KiB
Lua
44 lines
1.6 KiB
Lua
local debugging = false
|
|
|
|
local cubes = {
|
|
[285086] = { dest = { 584.00, 247.88, -173.12, 0 }, }, -- no map
|
|
[285087] = { dest = { -185.00, 1525.88, -85.12, 0 }, }, -- no map
|
|
[285088] = { dest = { 935.88, 278.00, -150.12, 0 }, }, -- first map
|
|
[285089] = { dest = { 264.63, 932.50, -76.00, 0 }, }, -- second map
|
|
[285090] = { dest = { -465.00, 1686.00, -74.12, 0 }, }, -- third map
|
|
[285091] = { dest = { -995.88, 1290.00, -28.12, 0 }, }, -- fourth map
|
|
}
|
|
|
|
local function make_attackable(mob, attackable)
|
|
mob:SetSpecialAbility(SpecialAbility.immune_melee, attackable and 0 or 1)
|
|
mob:SetSpecialAbility(SpecialAbility.immune_magic, attackable and 0 or 1)
|
|
mob:SetSpecialAbility(SpecialAbility.immune_aggro, attackable and 0 or 1)
|
|
mob:SetSpecialAbility(SpecialAbility.immune_aggro_on, attackable and 0 or 1)
|
|
mob:SetSpecialAbility(SpecialAbility.no_harm_from_client, attackable and 0 or 1)
|
|
end
|
|
|
|
function event_spawn(e)
|
|
make_attackable(e.self, false)
|
|
e.self:SetTargetable(false)
|
|
e.self:TempName("_") -- hide name until they arrive (should show real name on track though)
|
|
|
|
local cube = cubes[e.self:GetNPCTypeID()]
|
|
if cube ~= nil then
|
|
-- database has wrong grid destinations but mesh works fine except for not walking in middle of hallways
|
|
e.self:MoveTo(cube.dest[1], cube.dest[2], cube.dest[3], cube.dest[4], true)
|
|
end
|
|
|
|
if debugging then
|
|
e.self:SetRunning(true)
|
|
e.self:SpellFinished(1554, e.self) -- spirit of scale
|
|
end
|
|
end
|
|
|
|
function event_waypoint_arrive(e)
|
|
local cube = cubes[e.self:GetNPCTypeID()]
|
|
if cube ~= nil then
|
|
make_attackable(e.self, true)
|
|
e.self:SetTargetable(true)
|
|
e.self:TempName("Cube_Fragment")
|
|
end
|
|
end
|