-- local tard_drop = { -- {item_id = 6600327, weight = 15}, -- Камень души +36 -- {item_id = 6600328, weight = 15}, -- Магическое ожерелье +38 -- {item_id = 6600329, weight = 15}, -- Руна стража [+40] -- {item_id = 6600330, weight = 15}, -- Руна стража [+30] -- {item_id = 6600331, weight = 15}, -- Магическое ожерелье +27 -- {item_id = 6600332, weight = 15}, -- Рецепт шлема [105 ур.] -- {item_id = 6600333, weight = 15}, -- Рецепт перчаток [105 ур.] -- {item_id = 6600334, weight = 15}, -- Рецепт пояса [105 ур.] -- {item_id = 6600335, weight = 15}, -- Рецепт ожерелья [105 ур.] -- {item_id = 6600336, weight = 15}, -- Рецепт доспеха [105 ур.] -- {item_id = 6600337, weight = 15}, -- Рецепт поножей [105 ур.] -- {item_id = 5802609, weight = 15}, -- Рецепт кольца [105 ур.] -- {item_id = 5802614, weight = 15}, -- Рецепт перстня [105 ур.] -- {item_id = 5802619, weight = 15}, -- Рецепт плаща [105 ур.] -- {item_id = 5802624, weight = 15}, -- Рецепт обуви [105 ур.] -- {item_id = 5802629, weight = 15}, -- Рецепт оружия [105 ур.] -- {item_id = 5802634, weight = 15}, -- Священный свет [6 ур.] -- {item_id = 5802639, weight = 15}, -- Священная мудрость [6 ур.] -- {item_id = 5802644, weight = 15}, -- Священная судьба [6 ур.] -- {item_id = 5802649, weight = 15}, -- Священная чистота [6 ур.] -- {item_id = 5802654, weight = 15}, -- Священный хаос [6 ур.] -- {item_id = 5802659, weight = 15}, -- Священное убежище [6 ур.] -- {item_id = 5802664, weight = 15}, -- Священная стойкость [6 ур.] -- {item_id = 5802151, weight = 1}, -- Страшный Суд [6 ур.] -- {item_id = 5802129, weight = 3}, -- Священное возмездие [6 ур.] -- {item_id = 3020144, weight = 10}, -- {item_id = 3020140, weight = 20}, -- {item_id = 3020099, weight = 30} -- Священное наказание [6 ур.] -- } -- function weighted_random(t) -- local total_weight = 0 -- for _, item in pairs(t) do -- total_weight = total_weight + item.weight -- end -- local r = math.random(1, total_weight) -- for _, item in pairs(t) do -- r = r - item.weight -- if r <= 0 then -- return item.item_id -- end -- end -- end -- function s5937802_Cast(MapID, InstanceID, SkillID, OwnerID) -- local x, y, z = unit.GetPosition(MapID, InstanceID, OwnerID) -- map.MapCreateCreature(MapID, InstanceID, 9010197, x + 2, y, z + 2) -- map.MapCreateCreature(MapID, InstanceID, 9010197, x - 2, y, z + 2) -- map.MapCreateCreature(MapID, InstanceID, 9010197, x + 2, y, z - 2) -- end -- aux.RegisterSkillEvent(5937802, 1, "s5937802_Cast") -- function c9010228_Die(MapID, InstanceID, TargetID, TargetTypeID, RoleID) -- local level = role.GetRoleLevel(MapID, InstanceID, RoleID) -- if level >= 100 and level <= 120 then -- role.AddRoleItem(MapID, InstanceID, RoleID, 6600339, 1, 8, 420) -- end -- local item_id = weighted_random(tard_drop) -- local TeamID = role.IsRoleHaveTeam(MapID, InstanceID, RoleID) -- if TeamID ~= nil and TeamID ~= 4294967295 then -- local Role = {} -- Role[1], Role[2], Role[3], Role[4], Role[5], Role[6] = role.GetRoleTeamMemID(TeamID) -- for i = 1, 6 do -- if Role[i] and Role[i] ~= 4294967295 then -- role.AddRoleItem(MapID, InstanceID, Role[i], item_id, 1, 6, 8, 420) -- end -- end -- end -- local lootRoleTable = cre.GetAroundRole(MapID, InstanceID, TargetID, 200000, 200000) -- for _, RoleID in pairs(lootRoleTable) do -- role.AddRoleItem(MapID, InstanceID, RoleID, item_id, 1, 6, 8, 420) -- end -- end -- aux.RegisterCreatureEvent(9010228, 4, "c9010228_Die") -- function c90102281_Die(MapID, InstanceID, CreatureID, CreatureTypeID, KillerID) -- local monsterNum = map.GetMapScriptData(3424074792, -1, 1, 2) -- if monsterNum == nil or monsterNum < 0 then -- monsterNum = 0 -- end -- local num = 4 - monsterNum -- if num > 0 then -- map.SetMapScriptData(3424074792, -1, 1, 2, monsterNum + 1) -- else -- local TardisBOss = map.GetMapScriptData(3424074792, -1, 1, 1) -- unit.CancelBuff(3424074792, -1, TardisBOss, 6105801) -- end -- end -- aux.RegisterCreatureEvent(9010197, 4, "c90102281_Die") -- function Tardis_OnStart(actID) -- local TardisBOss = map.MapCreateColCreature(3424074792, -1, 9010228, 1040, 6123, 1068, 1) -- map.SetMapScriptData(3424074792, -1, 1, 1, TardisBOss) -- unit.AddBuff(3424074792, -1, TardisBOss, 6105801, TardisBOss) -- local TardisNpcs = { -- {1072, 6214, 1099}, -- {1077, 6214, 1099}, -- {1077, 6214, 1105}, -- {1080, 6214, 1099}, -- {1080, 6214, 1115} -- } -- for i, coords in ipairs(TardisNpcs) do -- local TardisNpc = map.MapCreateColCreature(3424074792, -1, 9010197, coords[1], coords[2], coords[3], 1, "") -- map.SetMapScriptData(3424074792, -1, 1, i + 1, TardisNpc) -- end -- local MsgID = msg.BeginMsgEvent() -- msg.AddMsgEvent(MsgID, 102, 300119) -- msg.DispatchWorldMsgEvent(MsgID) -- end -- aux.RegisterActEvent(1178, 2, "Tardis_OnStart") -- aux.RegisterActEvent(1179, 2, "Tardis_OnStart") -- function Tardis_OnEnd(actID) -- for i = 1, 6 do -- local TardisNpc = map.GetMapScriptData(3424074792, -1, 1, i) -- map.MapDeleteCreature(3424074792, -1, TardisNpc) -- end -- local TardisBOss = map.GetMapScriptData(3424074792, -1, 1, 1) -- map.MapDeleteCreature(3424074792, -1, TardisBOss) -- end -- aux.RegisterActEvent(1178, 3, "Tardis_OnEnd") -- aux.RegisterActEvent(1179, 3, "Tardis_OnEnd")