Advertisement
Guest User

av

a guest
Sep 15th, 2012
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.42 KB | None | 0 0
  1. -- All credits to Elv
  2. local AlertFrameHolder = CreateFrame("Frame", "AlertFrameHolder", UIParent)
  3. AlertFrameHolder:SetWidth(180)
  4. AlertFrameHolder:SetHeight(20)
  5. AlertFrameHolder:SetPoint("TOP", UIParent, "TOP", 0, -5)
  6.  
  7. local POSITION, ANCHOR_POINT, YOFFSET = "TOP", "BOTTOM", -10
  8.  
  9. local function fixAnchors(pos)
  10.     POSITION = pos or POSITION
  11.    
  12.     if POSITION == 'TOP' then
  13.         ANCHOR_POINT = 'BOTTOM'
  14.         YOFFSET = -10
  15.     else
  16.         ANCHOR_POINT = 'TOP'
  17.         YOFFSET = 10
  18.     end
  19.    
  20.     AlertFrame:ClearAllPoints()
  21.     AlertFrame:SetAllPoints(AlertFrameHolder)
  22.  
  23.     GroupLootContainer:ClearAllPoints()
  24.     GroupLootContainer:SetPoint(POSITION, AlertFrame, ANCHOR_POINT)
  25.    
  26.     MissingLootFrame:ClearAllPoints()
  27.     MissingLootFrame:SetPoint(POSITION, AlertFrame, ANCHOR_POINT)
  28.    
  29.     AlertFrame_FixAnchors()
  30. end
  31. hooksecurefunc("AlertFrame_FixAnchors", fixAnchors)
  32.  
  33. local function AlertFrame_SetLootWonAnchors(alertAnchor)
  34.     for i=1, #LOOT_WON_ALERT_FRAMES do
  35.         local frame = LOOT_WON_ALERT_FRAMES[i];
  36.         if ( frame:IsShown() ) then
  37.             frame:ClearAllPoints()
  38.             frame:SetPoint(POSITION, alertAnchor, ANCHOR_POINT, 0, YOFFSET);
  39.             alertAnchor = frame
  40.         end
  41.     end
  42. end
  43. hooksecurefunc("AlertFrame_SetLootWonAnchors", AlertFrame_SetLootWonAnchors)
  44.  
  45. local function AlertFrame_SetMoneyWonAnchors(alertAnchor)
  46.     for i=1, #MONEY_WON_ALERT_FRAMES do
  47.         local frame = MONEY_WON_ALERT_FRAMES[i];
  48.         if ( frame:IsShown() ) then
  49.             frame:ClearAllPoints()
  50.             frame:SetPoint(POSITION, alertAnchor, ANCHOR_POINT, 0, YOFFSET);
  51.             alertAnchor = frame
  52.         end
  53.     end
  54. end
  55. hooksecurefunc("AlertFrame_SetMoneyWonAnchors", AlertFrame_SetMoneyWonAnchors)
  56.  
  57. local function AlertFrame_SetAchievementAnchors(alertAnchor)
  58.     if ( AchievementAlertFrame1 ) then
  59.         for i = 1, MAX_ACHIEVEMENT_ALERTS do
  60.             local frame = _G["AchievementAlertFrame"..i];
  61.             if ( frame and frame:IsShown() ) then
  62.                 frame:ClearAllPoints()
  63.                 frame:SetPoint(POSITION, alertAnchor, ANCHOR_POINT, 0, YOFFSET);
  64.                 alertAnchor = frame
  65.             end
  66.         end
  67.     end
  68. end
  69. hooksecurefunc("AlertFrame_SetAchievementAnchors", AlertFrame_SetAchievementAnchors)
  70.  
  71. local function AlertFrame_SetCriteriaAnchors(alertAnchor)
  72.     if ( CriteriaAlertFrame1 ) then
  73.         for i = 1, MAX_ACHIEVEMENT_ALERTS do
  74.             local frame = _G["CriteriaAlertFrame"..i];
  75.             if ( frame and frame:IsShown() ) then
  76.                 frame:ClearAllPoints()
  77.                 frame:SetPoint(POSITION, alertAnchor, ANCHOR_POINT, 0, YOFFSET);
  78.                 alertAnchor = frame
  79.             end
  80.         end
  81.     end
  82. end
  83. hooksecurefunc("AlertFrame_SetCriteriaAnchors", AlertFrame_SetCriteriaAnchors)
  84.  
  85. local function AlertFrame_SetChallengeModeAnchors(alertAnchor)
  86.     local frame = ChallengeModeAlertFrame1;
  87.     if ( frame:IsShown() ) then
  88.         frame:ClearAllPoints()
  89.         frame:SetPoint(POSITION, alertAnchor, ANCHOR_POINT, 0, YOFFSET);
  90.     end
  91. end
  92. hooksecurefunc("AlertFrame_SetChallengeModeAnchors", AlertFrame_SetChallengeModeAnchors)
  93.  
  94. local function AlertFrame_SetDungeonCompletionAnchors(alertAnchor)
  95.     local frame = DungeonCompletionAlertFrame1;
  96.     if ( frame:IsShown() ) then
  97.         frame:ClearAllPoints()
  98.         frame:SetPoint(POSITION, alertAnchor, ANCHOR_POINT, 0, YOFFSET);
  99.     end
  100. end
  101. hooksecurefunc("AlertFrame_SetDungeonCompletionAnchors", AlertFrame_SetDungeonCompletionAnchors)
  102.  
  103. local function AlertFrame_SetScenarioAnchors(alertAnchor)
  104.     local frame = ScenarioAlertFrame1;
  105.     if ( frame:IsShown() ) then
  106.         frame:ClearAllPoints()
  107.         frame:SetPoint(POSITION, alertAnchor, ANCHOR_POINT, 0, YOFFSET);
  108.     end
  109. end
  110. hooksecurefunc("AlertFrame_SetScenarioAnchors", AlertFrame_SetScenarioAnchors)
  111.  
  112. local function AlertFrame_SetGuildChallengeAnchors(alertAnchor)
  113.     local frame = GuildChallengeAlertFrame;
  114.     if ( frame:IsShown() ) then
  115.         frame:ClearAllPoints()
  116.         frame:SetPoint(POSITION, alertAnchor, ANCHOR_POINT, 0, YOFFSET);
  117.     end
  118. end
  119. hooksecurefunc("AlertFrame_SetGuildChallengeAnchors", AlertFrame_SetGuildChallengeAnchors)
  120.  
  121. SlashCmdList.TEST_ACHIEVEMENT = function()
  122.     PlaySound("LFG_Rewards")
  123.     AchievementFrame_LoadUI()
  124.     AchievementAlertFrame_ShowAlert(5780)
  125.     AchievementAlertFrame_ShowAlert(5000)
  126.     GuildChallengeAlertFrame_ShowAlert(3, 2, 5)
  127.     ChallengeModeAlertFrame_ShowAlert()
  128.     CriteriaAlertFrame_GetAlertFrame()
  129.     AlertFrame_AnimateIn(CriteriaAlertFrame1)
  130.     AlertFrame_AnimateIn(DungeonCompletionAlertFrame1)
  131.     AlertFrame_AnimateIn(ScenarioAlertFrame1)
  132.    
  133.     local _, itemLink = GetItemInfo(6948)
  134.     LootWonAlertFrame_ShowAlert(itemLink, -1, 1, 1)
  135.     MoneyWonAlertFrame_ShowAlert(1)
  136.    
  137.     AlertFrame_FixAnchors()
  138. end
  139. SLASH_TEST_ACHIEVEMENT1 = "/testalerts"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement