пасиба друк, ты гений, тринки заработали на арене, но беда в том, что они отображаються только после того как кто-то проюзает ее, т.е. выглядит это весьма паршиво, как сделать чтобы их показывало как в гладиусе - все время?
вот что у меня вышло в lua
Скрытый текст
Код:
local trinkets = {} local events = CreateFrame("Frame")
function events:ADDON_LOADED(addonName) if addonName ~= "Blizzard_ArenaUI" then return end ArenaEnemyFrame1:ClearAllPoints() ArenaEnemyFrame1:SetPoint("CENTER", nil, "CENTER", 300.0, 155.0) ArenaEnemyFrames:SetScale(1.2) local arenaFrame, trinket for i = 1, MAX_ARENA_ENEMIES do arenaFrame = "ArenaEnemyFrame"..i trinket = CreateFrame("Cooldown", arenaFrame.."Trinket", ArenaEnemyFrames) trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6) trinket:SetSize(24, 24) trinket.icon = trinket:CreateTexture(nil, "BACKGROUND") trinket.icon:SetAllPoints() trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01") trinket:Show() trinkets["arena"..i] = trinket end self:UnregisterEvent("ADDON_LOADED") end
function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, SpellID) if not trinkets[unitID] then return end if spell == GetSpellInfo(59752) or spell == GetSpellInfo(42292) then CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1) SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY") elseif spell == GetSpellInfo(7744) then CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 45, 1) SendChatMessage("WotF used by: "..GetUnitName(unitID, true), "PARTY") end end
function events:PLAYER_ENTERING_WORLD() local _, instanceType = IsInInstance() if instanceType == "arena" then self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED") for _, trinket in pairs(trinkets) do trinket:SetCooldown(0, 0) trinket:Show() end end end
SLASH_TESTAEF1 = "/testaef" SlashCmdList["TESTAEF"] = function(msg, editBox) if not IsAddOnLoaded("Blizzard_ArenaUI") then LoadAddOn("Blizzard_ArenaUI") end ArenaEnemyFrames:Show() local arenaFrame for i = 1, 3 do arenaFrame = _G["ArenaEnemyFrame"..i] arenaFrame.classPortrait:SetTexture("Interface\\TargetingFrame\\UI-Classes-Circles") arenaFrame.classPortrait:SetTexCoord(unpack(CLASS_ICON_TCOORDS["WARRIOR"])) arenaFrame.name:SetText("Dispelme") arenaFrame:Show() CooldownFrame_SetTimer(trinkets["arena"..i], GetTime(), 120, 1) end end
там в 2 строчках я менял с trinket:Hide() на trinket:Show() адинхер нипамагает
function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, SpellID) хотя тут вроде все начинаеться с успешного юзания тринкета, это если я правильно понял эту строчку, то так просто все неполучиться и придеться дописывать нехилый кусок, чтобы оно показывало их постоянно
Это измененный твой код, пробуй. Триньки скрывались, т.к. были кулдаунами (а они скрываются, когда выходит время). Я привязал их к фрэймам.
Скрытый текст
Код:
local events = CreateFrame("Frame")
function events:ADDON_LOADED(addonName) if addonName ~= "Blizzard_ArenaUI" then return end ArenaEnemyFrame1:ClearAllPoints() ArenaEnemyFrame1:SetPoint("CENTER", nil, "CENTER", 300.0, 155.0) ArenaEnemyFrames:SetScale(1.2) local arenaFrame, trinket for i = 1, MAX_ARENA_ENEMIES do arenaFrame = "ArenaEnemyFrame"..i trinket = CreateFrame("Frame", arenaFrame.."Trinket", ArenaEnemyFrames) trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6) trinket:SetSize(24, 24) trinket.icon = trinket:CreateTexture(nil, "BACKGROUND") trinket.icon:SetAllPoints() trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01") trinket.c = CreateFrame("Cooldown", nil, trinket) trinket.c:SetAllPoints(trinket) trinket:Hide() trinkets["arena"..i] = trinket end self:UnregisterEvent("ADDON_LOADED") end
function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, SpellID) if not trinkets[unitID] then return end if spell == GetSpellInfo(59752) or spell == GetSpellInfo(42292) then CooldownFrame_SetTimer(trinkets[unitID].c, GetTime(), 120, 1) SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY") elseif spell == GetSpellInfo(7744) then CooldownFrame_SetTimer(trinkets[unitID].c, GetTime(), 45, 1) SendChatMessage("WotF used by: "..GetUnitName(unitID, true), "PARTY") end end
function events:PLAYER_ENTERING_WORLD() local _, instanceType = IsInInstance() if instanceType == "arena" then for _, trinket in pairs(trinkets) do trinket:Show() end self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED") for _, trinket in pairs(trinkets) do trinket.c:SetCooldown(0, 0) trinket:Hide() end end end
SLASH_TESTAEF1 = "/testaef" SlashCmdList["TESTAEF"] = function(msg, editBox) if not IsAddOnLoaded("Blizzard_ArenaUI") then LoadAddOn("Blizzard_ArenaUI") end ArenaEnemyFrames:Show() local arenaFrame for i = 1, 3 do arenaFrame = _G["ArenaEnemyFrame"..i] arenaFrame.classPortrait:SetTexture("Interface\\TargetingFrame\\UI-Classes-Circles") arenaFrame.classPortrait:SetTexCoord(unpack(CLASS_ICON_TCOORDS["WARRIOR"])) arenaFrame.name:SetText("Dispelme") arenaFrame:Show() trinkets["arena"..i]:Show() CooldownFrame_SetTimer(trinkets["arena"..i].c, GetTime(), 120, 1) end end
Это измененный твой код, пробуй. Триньки скрывались, т.к. были кулдаунами (а они скрываются, когда выходит время). Я привязал их к фрэймам.
Скрытый текст
Код:
local events = CreateFrame("Frame")
function events:ADDON_LOADED(addonName) if addonName ~= "Blizzard_ArenaUI" then return end ArenaEnemyFrame1:ClearAllPoints() ArenaEnemyFrame1:SetPoint("CENTER", nil, "CENTER", 300.0, 155.0) ArenaEnemyFrames:SetScale(1.2) local arenaFrame, trinket for i = 1, MAX_ARENA_ENEMIES do arenaFrame = "ArenaEnemyFrame"..i trinket = CreateFrame("Frame", arenaFrame.."Trinket", ArenaEnemyFrames) trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6) trinket:SetSize(24, 24) trinket.icon = trinket:CreateTexture(nil, "BACKGROUND") trinket.icon:SetAllPoints() trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01") trinket.c = CreateFrame("Cooldown", nil, trinket) trinket.c:SetAllPoints(trinket) trinket:Hide() trinkets["arena"..i] = trinket end self:UnregisterEvent("ADDON_LOADED") end
function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, SpellID) if not trinkets[unitID] then return end if spell == GetSpellInfo(59752) or spell == GetSpellInfo(42292) then CooldownFrame_SetTimer(trinkets[unitID].c, GetTime(), 120, 1) SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY") elseif spell == GetSpellInfo(7744) then CooldownFrame_SetTimer(trinkets[unitID].c, GetTime(), 45, 1) SendChatMessage("WotF used by: "..GetUnitName(unitID, true), "PARTY") end end
function events:PLAYER_ENTERING_WORLD() local _, instanceType = IsInInstance() if instanceType == "arena" then for _, trinket in pairs(trinkets) do trinket:Show() end self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED") for _, trinket in pairs(trinkets) do trinket.c:SetCooldown(0, 0) trinket:Hide() end end end
SLASH_TESTAEF1 = "/testaef" SlashCmdList["TESTAEF"] = function(msg, editBox) if not IsAddOnLoaded("Blizzard_ArenaUI") then LoadAddOn("Blizzard_ArenaUI") end ArenaEnemyFrames:Show() local arenaFrame for i = 1, 3 do arenaFrame = _G["ArenaEnemyFrame"..i] arenaFrame.classPortrait:SetTexture("Interface\\TargetingFrame\\UI-Classes-Circles") arenaFrame.classPortrait:SetTexCoord(unpack(CLASS_ICON_TCOORDS["WARRIOR"])) arenaFrame.name:SetText("Dispelme") arenaFrame:Show() trinkets["arena"..i]:Show() CooldownFrame_SetTimer(trinkets["arena"..i].c, GetTime(), 120, 1) end end
нет,этот скрипт неработает даже в тест режиме) показывает всеголиш арена фрейм1 и без тринек<-- тест режим, а на арене - фреймы показывает все, но без тринкетов даже проюзаных, думал мб есть ошибки, попробовал добавить пробелы перед строчками в Player_entering_world как в моем варианте, пробовал убрать ".c" и заменял полностью кусок с Player_entering_world до end... (ибо он какойто странный вышел) на тот что у меня, но что-то безрезультатно( даже незнаю
03 окт 2012, 12:02
Revilated
[0.7]
1
Скрипты Neilyo и не только
Kingsize писал(а):
Revilated писал(а):
Это измененный твой код, пробуй. Триньки скрывались, т.к. были кулдаунами (а они скрываются, когда выходит время). Я привязал их к фрэймам.
Скрытый текст
Код:
local events = CreateFrame("Frame")
function events:ADDON_LOADED(addonName) if addonName ~= "Blizzard_ArenaUI" then return end ArenaEnemyFrame1:ClearAllPoints() ArenaEnemyFrame1:SetPoint("CENTER", nil, "CENTER", 300.0, 155.0) ArenaEnemyFrames:SetScale(1.2) local arenaFrame, trinket for i = 1, MAX_ARENA_ENEMIES do arenaFrame = "ArenaEnemyFrame"..i trinket = CreateFrame("Frame", arenaFrame.."Trinket", ArenaEnemyFrames) trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6) trinket:SetSize(24, 24) trinket.icon = trinket:CreateTexture(nil, "BACKGROUND") trinket.icon:SetAllPoints() trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01") trinket.c = CreateFrame("Cooldown", nil, trinket) trinket.c:SetAllPoints(trinket) trinket:Hide() trinkets["arena"..i] = trinket end self:UnregisterEvent("ADDON_LOADED") end
function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, SpellID) if not trinkets[unitID] then return end if spell == GetSpellInfo(59752) or spell == GetSpellInfo(42292) then CooldownFrame_SetTimer(trinkets[unitID].c, GetTime(), 120, 1) SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY") elseif spell == GetSpellInfo(7744) then CooldownFrame_SetTimer(trinkets[unitID].c, GetTime(), 45, 1) SendChatMessage("WotF used by: "..GetUnitName(unitID, true), "PARTY") end end
function events:PLAYER_ENTERING_WORLD() local _, instanceType = IsInInstance() if instanceType == "arena" then for _, trinket in pairs(trinkets) do trinket:Show() end self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED") for _, trinket in pairs(trinkets) do trinket.c:SetCooldown(0, 0) trinket:Hide() end end end
SLASH_TESTAEF1 = "/testaef" SlashCmdList["TESTAEF"] = function(msg, editBox) if not IsAddOnLoaded("Blizzard_ArenaUI") then LoadAddOn("Blizzard_ArenaUI") end ArenaEnemyFrames:Show() local arenaFrame for i = 1, 3 do arenaFrame = _G["ArenaEnemyFrame"..i] arenaFrame.classPortrait:SetTexture("Interface\\TargetingFrame\\UI-Classes-Circles") arenaFrame.classPortrait:SetTexCoord(unpack(CLASS_ICON_TCOORDS["WARRIOR"])) arenaFrame.name:SetText("Dispelme") arenaFrame:Show() trinkets["arena"..i]:Show() CooldownFrame_SetTimer(trinkets["arena"..i].c, GetTime(), 120, 1) end end
нет,этот скрипт неработает даже в тест режиме) показывает всеголиш арена фрейм1 и без тринек<-- тест режим, а на арене - фреймы показывает все, но без тринкетов даже проюзаных, думал мб есть ошибки, попробовал добавить пробелы перед строчками в Player_entering_world как в моем варианте, пробовал убрать ".c" и заменял полностью кусок с Player_entering_world до end... (ибо он какойто странный вышел) на тот что у меня, но что-то безрезультатно( даже незнаю
Да, ошибка есть, добавь в самом начале local trinkets = {}
03 окт 2012, 15:02
Kingsize
0
Скрипты Neilyo и не только
Revilated писал(а):
Kingsize писал(а):
Revilated писал(а):
Это измененный твой код, пробуй. Триньки скрывались, т.к. были кулдаунами (а они скрываются, когда выходит время). Я привязал их к фрэймам.
Скрытый текст
Код:
local events = CreateFrame("Frame")
function events:ADDON_LOADED(addonName) if addonName ~= "Blizzard_ArenaUI" then return end ArenaEnemyFrame1:ClearAllPoints() ArenaEnemyFrame1:SetPoint("CENTER", nil, "CENTER", 300.0, 155.0) ArenaEnemyFrames:SetScale(1.2) local arenaFrame, trinket for i = 1, MAX_ARENA_ENEMIES do arenaFrame = "ArenaEnemyFrame"..i trinket = CreateFrame("Frame", arenaFrame.."Trinket", ArenaEnemyFrames) trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6) trinket:SetSize(24, 24) trinket.icon = trinket:CreateTexture(nil, "BACKGROUND") trinket.icon:SetAllPoints() trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01") trinket.c = CreateFrame("Cooldown", nil, trinket) trinket.c:SetAllPoints(trinket) trinket:Hide() trinkets["arena"..i] = trinket end self:UnregisterEvent("ADDON_LOADED") end
function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, SpellID) if not trinkets[unitID] then return end if spell == GetSpellInfo(59752) or spell == GetSpellInfo(42292) then CooldownFrame_SetTimer(trinkets[unitID].c, GetTime(), 120, 1) SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY") elseif spell == GetSpellInfo(7744) then CooldownFrame_SetTimer(trinkets[unitID].c, GetTime(), 45, 1) SendChatMessage("WotF used by: "..GetUnitName(unitID, true), "PARTY") end end
function events:PLAYER_ENTERING_WORLD() local _, instanceType = IsInInstance() if instanceType == "arena" then for _, trinket in pairs(trinkets) do trinket:Show() end self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED") for _, trinket in pairs(trinkets) do trinket.c:SetCooldown(0, 0) trinket:Hide() end end end
SLASH_TESTAEF1 = "/testaef" SlashCmdList["TESTAEF"] = function(msg, editBox) if not IsAddOnLoaded("Blizzard_ArenaUI") then LoadAddOn("Blizzard_ArenaUI") end ArenaEnemyFrames:Show() local arenaFrame for i = 1, 3 do arenaFrame = _G["ArenaEnemyFrame"..i] arenaFrame.classPortrait:SetTexture("Interface\\TargetingFrame\\UI-Classes-Circles") arenaFrame.classPortrait:SetTexCoord(unpack(CLASS_ICON_TCOORDS["WARRIOR"])) arenaFrame.name:SetText("Dispelme") arenaFrame:Show() trinkets["arena"..i]:Show() CooldownFrame_SetTimer(trinkets["arena"..i].c, GetTime(), 120, 1) end end
нет,этот скрипт неработает даже в тест режиме) показывает всеголиш арена фрейм1 и без тринек<-- тест режим, а на арене - фреймы показывает все, но без тринкетов даже проюзаных, думал мб есть ошибки, попробовал добавить пробелы перед строчками в Player_entering_world как в моем варианте, пробовал убрать ".c" и заменял полностью кусок с Player_entering_world до end... (ибо он какойто странный вышел) на тот что у меня, но что-то безрезультатно( даже незнаю
Да, ошибка есть, добавь в самом начале local trinkets = {}
придеться менять "MAX_ARENA_ENEMIES" на "2" или "3" ибо независимо сколько человек на арене всегда показывает 5 тринкетов, что впринцыпе не проблема, а в остальном все отлично, спасибо) плюсанул к карме
03 окт 2012, 15:53
Revilated
[0.7]
0
Скрипты Neilyo и не только
Kingsize писал(а):
придеться менять "MAX_ARENA_ENEMIES" на "2" или "3" ибо независимо сколько человек на арене всегда показывает 5 тринкетов, что впринцыпе не проблема, а в остальном все отлично, спасибо) плюсанул к карме
поменяй этот кусок
for _, trinket in pairs(trinkets) do trinket:Show() end
на
ArenaEnemyFrames:SetScript("OnShow",function(self) for i = 1,GetNumArenaOpponents() do trinkets["arena"..i]:Show() end end)
03 окт 2012, 19:22
justreaver
0
Скрипты Neilyo и не только
Подскажите, пожалуйста, есть ли скрипт, изменяющий портрет игрока (то бишь исключительно мой, остальные таргеты не трогать) на любую картинку? Вроде бы есть код, позволяющий изменить свой портрет на любую из чисто игровых иконок, но мне хотелось бы выбрать кастомную картинку - не из игры.
06 окт 2012, 05:49
Disperze
[0.6]
0
Скрипты Neilyo и не только
небольшое изменение в скрипте на смену портретов
Код:
local UFP = "UnitFramePortrait_Update" local UICC = "Interface\\TargetingFrame\\UI-Classes-Circles" local CIT = CLASS_ICON_TCOORDS
hooksecurefunc(UFP,function(self)
if self.portrait then if UnitIsPlayer(self.unit) then SetPortraitToTexture("PlayerPortrait", "Interface\\AddOns\\... ") -- примерная ссылка на твой портрет end self.portrait:SetTexture(UICC) self.portrait:SetTexCoord(unpack(CIT[select(2,UnitClass(self.unit))])) else self.portrait:SetTexCoord(0,1,0,1) end end end)
портерт должен быть в формате blp размером 64х64
если нужна смена только своего портрета, то можно удалить строки после первого end, и 2-3 строки не нужны.
06 окт 2012, 10:21
BlackStorm
[10]
0
Скрипты Neilyo и не только
Подскажите, как переместить таргет фокуса? (Именно этот маленький фрейм)
06 окт 2012, 15:14
justreaver
0
Скрипты Neilyo и не только
Disperze писал(а):
небольшое изменение в скрипте на смену портретов
Скрытый текст
Код:
local UFP = "UnitFramePortrait_Update" local UICC = "Interface\\TargetingFrame\\UI-Classes-Circles" local CIT = CLASS_ICON_TCOORDS
hooksecurefunc(UFP,function(self)
if self.portrait then if UnitIsPlayer(self.unit) then SetPortraitToTexture("PlayerPortrait", "Interface\\AddOns\\... ") -- примерная ссылка на твой портрет end self.portrait:SetTexture(UICC) self.portrait:SetTexCoord(unpack(CIT[select(2,UnitClass(self.unit))])) else self.portrait:SetTexCoord(0,1,0,1) end end end)
портерт должен быть в формате blp размером 64х64
если нужна смена только своего портрета, то можно удалить строки после первого end, и 2-3 строки не нужны.
Достаточно взять любой .jpg и вручную сменить расширение на .blp или в графическом редакторе сохранять?
В итоге оставить так?
Скрытый текст
local UFP = "UnitFramePortrait_Update" hooksecurefunc(UFP,function(self)
if self.portrait then if UnitIsPlayer(self.unit) then SetPortraitToTexture("PlayerPortrait", "Interface\\AddOns\\randompic.blp") end
06 окт 2012, 17:55
Shinomi
[4.2]
0
Скрипты Neilyo и не только
BlackStorm писал(а):
Подскажите, как переместить таргет фокуса? (Именно этот маленький фрейм)
Можно ли прицепить комбо поинты у роги и к фокусу, а не только к таргету?
Смысл?Что бы видеть сколько кп ты киданул на фокус с помощью редиректа? Но ты ведь,поедей,и так знаешь сколько кп набил на таргете.
07 окт 2012, 18:39
Revilated
[0.7]
1
Скрипты Neilyo и не только
Akrololz писал(а):
Можно ли прицепить комбо поинты у роги и к фокусу, а не только к таргету?
Можно, я сделал в виде текста.
Код:
local combo=CreateFrame("Frame",nil,FocusFrame) combo:SetPoint("RIGHT",FocusFrame,"RIGHT",13,5) combo:SetSize(50,45) combo.text=combo:CreateFontString(nil,"ARTWORK") combo.text:SetFont(STANDARD_TEXT_FONT,20,"OUTLINE") combo.text:SetTextColor(1,1,0,1) combo.text:SetAllPoints(combo) combo:SetScript("OnUpdate",function(self) local com=GetComboPoints("player","focus") if com==0 then self.text:SetFormattedText("") else self.text:SetFormattedText(com.." CP") end end)
Сервер: Outland
Рейтинг поля боя: 2156
2х2: 2467
3х3: 2833
Скрипты Neilyo и не только
Revilated писал(а):
Akrololz писал(а):
Можно ли прицепить комбо поинты у роги и к фокусу, а не только к таргету?
Можно, я сделал в виде текста.
Код:
local combo=CreateFrame("Frame",nil,FocusFrame) combo:SetPoint("RIGHT",FocusFrame,"RIGHT",13,5) combo:SetSize(50,45) combo.text=combo:CreateFontString(nil,"ARTWORK") combo.text:SetFont(STANDARD_TEXT_FONT,20,"OUTLINE") combo.text:SetTextColor(1,1,0,1) combo.text:SetAllPoints(combo) combo:SetScript("OnUpdate",function(self) local com=GetComboPoints("player","focus") if com==0 then self.text:SetFormattedText("") else self.text:SetFormattedText(com.." CP") end end)
Спасиб большое, блин идеально было бы если бы ещё в виде стандартных шариков отображалось это
07 окт 2012, 21:00
Sinister
[6.8]
0
Скрипты Neilyo и не только
Fernir, можно ли сделать бар лаг после оупен из стелса (чтобы панель стелса пропадала с небольшой задержкой).
07 окт 2012, 21:53
Revilated
[0.7]
0
Скрипты Neilyo и не только
Akrololz писал(а):
Спасиб большое, блин идеально было бы если бы ещё в виде стандартных шариков отображалось это
Впринципе это сделать можно, но будет все гораздо сложнее
На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.