diff CensusPlus.lua @ 6:10c85be19b56

rebase on CensusPlus-40000-4.3.2.zip; added worgen added 81 - 85
author EmFor
date Fri, 10 Dec 2010 15:47:23 +0100
parents edfa01041183
children 663f782bd903
line wrap: on
line diff
--- a/CensusPlus.lua	Tue Mar 30 15:39:26 2010 +0000
+++ b/CensusPlus.lua	Fri Dec 10 15:47:23 2010 +0100
@@ -33,7 +33,7 @@
 -- EURO vs US localization problem workaround for common server names
 --
 ---------------------------------------------------------------------------------
-local g_InterfaceVersion = 30000;
+local g_InterfaceVersion = 40000;
 g_CensusPlusLocale = "N/A";       --  Must read either US or EU
 g_CensusPlusTZOffset = -999;
 local g_LocaleSet = false;
@@ -44,15 +44,17 @@
 --
 -- Constants
 --rm
-local CensusPlus_MYGUILD = "The Last Journey";    -- Special guild to search
+-- Special guild to search
+--local CensusPlus_MYGUILD = "The Last Journey";
+local CensusPlus_MYGUILD = "Worgengrauen";
 ---------------------------------------------------------------------------------
-local CensusPlus_VERSION = "4.2.2";    -- version
+local CensusPlus_VERSION = "4.3.2";    -- version
 local CensusPlus_MAXBARHEIGHT = 128;   -- Length of blue bars
 local CensusPlus_NUMGUILDBUTTONS = 10;   -- How many guild buttons are on the UI?
-local MAX_CHARACTER_LEVEL = 80;     -- Maximum level a PC can attain
+local MAX_CHARACTER_LEVEL = 85;     -- Maximum level a PC can attain
 --rm
 local MAX_LEVEL_DISPLAY = 255;     -- Maximum level a PC can attain
-local MAX_WHO_RESULTS = 45;      -- Maximum number of who results the server will return
+local MAX_WHO_RESULTS = 48;      -- Maximum number of who results the server will return
 CensusPlus_GUILDBUTTONSIZEY = 16;
 local CensusPlus_UPDATEDELAY = 5;    -- Delay time between /who messages
 local CP_MAX_TIMES = 50;
@@ -203,6 +205,8 @@
 g_RaceClassList[CENSUSPlus_UNDEAD]  = 27;
 g_RaceClassList[CENSUSPlus_DRAENEI]  = 28;
 g_RaceClassList[CENSUSPlus_BLOODELF] = 29;
+g_RaceClassList[CENSUSPlus_WORGEN] = 31;
+g_RaceClassList[CENSUSPlus_GOBLIN] = 32;
 
 g_TimeDatabase[CENSUSPlus_DRUID]  = 0;
 g_TimeDatabase[CENSUSPlus_HUNTER]  = 0;
@@ -229,12 +233,14 @@
 g_FactionCheck[CENSUSPlus_TROLL] = CENSUSPlus_HORDE;
 g_FactionCheck[CENSUSPlus_UNDEAD] = CENSUSPlus_HORDE;
 g_FactionCheck[CENSUSPlus_BLOODELF] = CENSUSPlus_HORDE;
+g_FactionCheck[CENSUSPlus_GOBLIN] = CENSUSPlus_HORDE;
 
 g_FactionCheck[CENSUSPlus_DWARF] = CENSUSPlus_ALLIANCE;
 g_FactionCheck[CENSUSPlus_GNOME] = CENSUSPlus_ALLIANCE;
 g_FactionCheck[CENSUSPlus_HUMAN] = CENSUSPlus_ALLIANCE;
 g_FactionCheck[CENSUSPlus_NIGHTELF] = CENSUSPlus_ALLIANCE;
 g_FactionCheck[CENSUSPlus_DRAENEI] = CENSUSPlus_ALLIANCE;
+g_FactionCheck[CENSUSPlus_WORGEN] = CENSUSPlus_ALLIANCE;
 local g_ReturnedZero = false;
 
 do
@@ -244,7 +250,7 @@
   and there is no real harm in removing the handler entirely, that's what's happening. If and when Blizzard decides to fix it, this should be removed.
   Thanks to ckknight of wowace for this
  ]]
- GuildControlPopupFrame:SetScript("OnEvent", nil)
+-- GuildControlPopupFrame:SetScript("OnEvent", nil)
 end
 
 
@@ -420,9 +426,9 @@
 function CensusPlus_GetFactionRaces(faction)
  local ret = {};
  if (faction == CENSUSPlus_HORDE) then
-  ret = {CENSUSPlus_ORC, CENSUSPlus_TAUREN, CENSUSPlus_TROLL, CENSUSPlus_UNDEAD, CENSUSPlus_BLOODELF};
+  ret = {CENSUSPlus_ORC, CENSUSPlus_TAUREN, CENSUSPlus_TROLL, CENSUSPlus_UNDEAD, CENSUSPlus_BLOODELF, CENSUSPlus_GOBLIN};
  elseif (faction == CENSUSPlus_ALLIANCE) then
-  ret = {CENSUSPlus_DWARF, CENSUSPlus_GNOME, CENSUSPlus_HUMAN, CENSUSPlus_NIGHTELF, CENSUSPlus_DRAENEI};
+  ret = {CENSUSPlus_DWARF, CENSUSPlus_GNOME, CENSUSPlus_HUMAN, CENSUSPlus_NIGHTELF, CENSUSPlus_DRAENEI, CENSUSPlus_WORGEN};
  end
  return ret;
 end
@@ -450,25 +456,29 @@
 local function GetRaceClasses(race)
  local ret = {};
  if (race == CENSUSPlus_ORC) then
-  ret = {CENSUSPlus_WARRIOR, CENSUSPlus_HUNTER, CENSUSPlus_ROGUE, CENSUSPlus_SHAMAN, CENSUSPlus_WARLOCK, CENSUSPlus_DEATHKNIGHT};
+		ret = {CENSUSPlus_WARRIOR, CENSUSPlus_HUNTER, CENSUSPlus_ROGUE, CENSUSPlus_MAGE, CENSUSPlus_SHAMAN, CENSUSPlus_WARLOCK, CENSUSPlus_DEATHKNIGHT};
  elseif (race == CENSUSPlus_TAUREN) then
-  ret = {CENSUSPlus_WARRIOR, CENSUSPlus_HUNTER, CENSUSPlus_SHAMAN, CENSUSPlus_DRUID, CENSUSPlus_DEATHKNIGHT};
+		ret = {CENSUSPlus_PALADIN, CENSUSPlus_WARRIOR, CENSUSPlus_HUNTER, CENSUSPlus_SHAMAN, CENSUSPlus_PRIEST, CENSUSPlus_DRUID, CENSUSPlus_DEATHKNIGHT};
  elseif (race == CENSUSPlus_TROLL) then
-  ret = {CENSUSPlus_WARRIOR, CENSUSPlus_HUNTER, CENSUSPlus_ROGUE, CENSUSPlus_PRIEST, CENSUSPlus_SHAMAN, CENSUSPlus_MAGE, CENSUSPlus_DEATHKNIGHT};
+		ret = {CENSUSPlus_WARRIOR, CENSUSPlus_HUNTER, CENSUSPlus_ROGUE, CENSUSPlus_PRIEST, CENSUSPlus_SHAMAN, CENSUSPlus_MAGE, CENSUSPlus_DRUID, CENSUSPlus_DEATHKNIGHT};
  elseif (race == CENSUSPlus_UNDEAD) then
-  ret = {CENSUSPlus_WARRIOR, CENSUSPlus_ROGUE, CENSUSPlus_PRIEST, CENSUSPlus_MAGE, CENSUSPlus_WARLOCK, CENSUSPlus_DEATHKNIGHT};
+		ret = {CENSUSPlus_WARRIOR, CENSUSPlus_HUNTER, CENSUSPlus_ROGUE, CENSUSPlus_PRIEST, CENSUSPlus_MAGE, CENSUSPlus_WARLOCK, CENSUSPlus_DEATHKNIGHT};
  elseif (race == CENSUSPlus_DWARF) then
-  ret = {CENSUSPlus_WARRIOR, CENSUSPlus_PALADIN, CENSUSPlus_HUNTER, CENSUSPlus_ROGUE, CENSUSPlus_PRIEST, CENSUSPlus_DEATHKNIGHT};
+		ret = {CENSUSPlus_WARRIOR, CENSUSPlus_PALADIN, CENSUSPlus_HUNTER, CENSUSPlus_ROGUE, CENSUSPlus_MAGE, CENSUSPlus_PRIEST, CENSUSPlus_SHAMAN, CENSUSPlus_DEATHKNIGHT};
  elseif (race == CENSUSPlus_GNOME) then
-  ret = {CENSUSPlus_WARRIOR, CENSUSPlus_ROGUE, CENSUSPlus_MAGE, CENSUSPlus_WARLOCK, CENSUSPlus_DEATHKNIGHT};
+		ret = {CENSUSPlus_WARRIOR, CENSUSPlus_ROGUE, CENSUSPlus_MAGE, CENSUSPlus_PRIEST, CENSUSPlus_WARLOCK, CENSUSPlus_DEATHKNIGHT};
  elseif (race == CENSUSPlus_HUMAN) then
-  ret = {CENSUSPlus_WARRIOR, CENSUSPlus_PALADIN, CENSUSPlus_ROGUE, CENSUSPlus_PRIEST, CENSUSPlus_MAGE, CENSUSPlus_WARLOCK, CENSUSPlus_DEATHKNIGHT};
+		ret = {CENSUSPlus_WARRIOR, CENSUSPlus_HUNTER, CENSUSPlus_PALADIN, CENSUSPlus_ROGUE, CENSUSPlus_PRIEST, CENSUSPlus_MAGE, CENSUSPlus_WARLOCK, CENSUSPlus_DEATHKNIGHT};
  elseif (race == CENSUSPlus_NIGHTELF) then
-  ret = {CENSUSPlus_WARRIOR, CENSUSPlus_HUNTER, CENSUSPlus_ROGUE, CENSUSPlus_PRIEST, CENSUSPlus_DRUID, CENSUSPlus_DEATHKNIGHT};
+		ret = {CENSUSPlus_WARRIOR, CENSUSPlus_HUNTER, CENSUSPlus_MAGE, CENSUSPlus_ROGUE, CENSUSPlus_PRIEST, CENSUSPlus_DRUID, CENSUSPlus_DEATHKNIGHT};
  elseif (race == CENSUSPlus_BLOODELF) then
-  ret = {CENSUSPlus_PALADIN, CENSUSPlus_HUNTER, CENSUSPlus_ROGUE, CENSUSPlus_PRIEST, CENSUSPlus_MAGE, CENSUSPlus_WARLOCK, CENSUSPlus_DEATHKNIGHT};
+		ret = {CENSUSPlus_WARRIOR, CENSUSPlus_PALADIN, CENSUSPlus_HUNTER, CENSUSPlus_ROGUE, CENSUSPlus_PRIEST, CENSUSPlus_MAGE, CENSUSPlus_WARLOCK, CENSUSPlus_DEATHKNIGHT};
  elseif (race == CENSUSPlus_DRAENEI) then
   ret = {CENSUSPlus_WARRIOR, CENSUSPlus_PALADIN, CENSUSPlus_HUNTER, CENSUSPlus_PRIEST, CENSUSPlus_SHAMAN, CENSUSPlus_MAGE, CENSUSPlus_DEATHKNIGHT};
+ elseif (race == CENSUSPlus_WORGEN) then
+		ret = {CENSUSPlus_DEATHKNIGHT, CENSUSPlus_DRUID, CENSUSPlus_HUNTER, CENSUSPlus_MAGE, CENSUSPlus_PRIEST, CENSUSPlus_ROGUE, CENSUSPlus_WARLOCK, CENSUSPlus_WARRIOR};
+ elseif (race == CENSUSPlus_GOBLIN) then
+		ret = {CENSUSPlus_DEATHKNIGHT, CENSUSPlus_HUNTER, CENSUSPlus_MAGE, CENSUSPlus_PRIEST, CENSUSPlus_ROGUE, CENSUSPlus_SHAMAN, CENSUSPlus_WARLOCK, CENSUSPlus_WARRIOR};
  end
  return ret;
 end
@@ -565,7 +575,7 @@
 -- Called once on load
 --
 -----------------------------------------------------------------------------------
-function CensusPlus_OnLoad()
+function CensusPlus_OnLoad( this )
  --
  -- Update the version number
  --
@@ -645,7 +655,7 @@
  CensusPlusTakeGuildButton:SetText( CENSUSPlus_TAKEGUILD.." \""..CensusPlus_MYGUILD.."\"" );
 end
 
-function CensusPlus_FriendsFrame_OnEvent(...)
+function CensusPlus_FriendsFrame_OnEvent(self, event, ...)
 
 -- CensusPlus_Msg( "CP_FF_OE Message =>" .. event );
 
@@ -666,6 +676,7 @@
 
  g_WaitingForWhoUpdate = false;
  CP_Pre_OnEvent(...);
+			
    --
    --  If we opened the who window, do a manual pause and open a dialog
    --
@@ -697,7 +708,7 @@
 
  end
 
- CP_Pre_OnEvent(...);
+ CP_Pre_OnEvent(self, event, ...);
 
 end
 
@@ -1180,7 +1191,7 @@
 -- Display a tooltip for the take button
 --
 -----------------------------------------------------------------------------------
-function CensusPlus_Take_OnEnter()
+function CensusPlus_Take_OnEnter( this )
  if (g_IsCensusPlusInProgress) then
   if (g_CensusPlusManuallyPaused) then
    GameTooltip:SetOwner(this, "ANCHOR_RIGHT");
@@ -1202,7 +1213,7 @@
 -----------------------------------------------------------------------------------
 -- Display a tooltip for the take guild button
 -----------------------------------------------------------------------------------
-function CensusPlus_TakeGuild_OnEnter()
+function CensusPlus_TakeGuild_OnEnter( this )
  if (g_IsCensusPlusInProgress) then
   if (g_CensusPlusManuallyPaused) then
    GameTooltip:SetOwner(this, "ANCHOR_RIGHT");
@@ -3130,7 +3141,7 @@
 -- Race legend clicked
 --
 ---------------------------------------------------------------------------------
-function CensusPlus_OnClickRace()
+function CensusPlus_OnClickRace( this )
  local id = this:GetID();
  if (id == g_RaceSelected) then
   g_RaceSelected = 0;
@@ -3145,7 +3156,7 @@
 -- Class legend clicked
 --
 ---------------------------------------------------------------------------------
-function CensusPlus_OnClickClass()
+function CensusPlus_OnClickClass( this )
  local id = this:GetID();
  if (id == g_ClassSelected) then
   g_ClassSelected = 0;
@@ -3161,8 +3172,8 @@
 -- Level bar loaded
 --
 ---------------------------------------------------------------------------------
-function CensusPlus_OnLoadLevel()
- this:RegisterForClicks("LeftButtonUp","RightButtonUp");
+function CensusPlus_OnLoadLevel( self )
+	self:RegisterForClicks("LeftButtonUp","RightButtonUp");
 end
 
 ----------------------------------------------------------------------------------
@@ -3170,7 +3181,7 @@
 -- Level bar clicked
 --
 ---------------------------------------------------------------------------------
-function CensusPlus_OnClickLevel(button)
+function CensusPlus_OnClickLevel(this, button)
  local id = this:GetID();
  if (((button == "LeftButton") and (id == g_LevelSelected)) or ((button == "RightButton") and (id + g_LevelSelected == 0))) then
   g_LevelSelected = 0;
@@ -3187,7 +3198,7 @@
 -- Race tooltip
 --
 ---------------------------------------------------------------------------------
-function CensusPlus_OnEnterRace()
+function CensusPlus_OnEnterRace( this )
  local factionGroup = UnitFactionGroup("player");
  local thisFactionRaces = CensusPlus_GetFactionRaces(factionGroup);
  local id = this:GetID();
@@ -3206,15 +3217,15 @@
 -- Class tooltip
 --
 ---------------------------------------------------------------------------------
-function CensusPlus_OnEnterClass()
+function CensusPlus_OnEnterClass( self )
  local factionGroup = UnitFactionGroup("player");
  local thisFactionClasses = CensusPlus_GetFactionClasses(factionGroup);
- local id = this:GetID();
+	local id = self:GetID();
  local className = thisFactionClasses[id];
  local count = g_ClassCount[id];
  if (count ~= nil) then
      local percent = floor((count / g_TotalCount) * 100);
-     GameTooltip:SetOwner(this, "ANCHOR_RIGHT");
+	    GameTooltip:SetOwner(self, "ANCHOR_RIGHT");
      GameTooltip:SetText(className.."\n"..count.."\n"..percent.."%", 1.0, 1.0, 1.0);
      GameTooltip:Show();
  end
@@ -3225,11 +3236,11 @@
 -- Level tooltip
 --
 ---------------------------------------------------------------------------------
-function CensusPlus_OnEnterLevel()
+function CensusPlus_OnEnterLevel( this )
  local id = this:GetID();
  local count = g_LevelCount[id];
  if (count ~= nil) then
-  local percent = floor(count * 100  / g_TotalCount);
+		local percent = floor((count / g_TotalCount) * 100);
   GameTooltip:SetOwner(this, "ANCHOR_RIGHT");
   GameTooltip:SetText("Level "..id.."\n"..count.."\n"..percent.."%", 1.0, 1.0, 1.0);
   GameTooltip:Show();
@@ -3241,7 +3252,7 @@
 -- Clicked a guild button
 --
 ---------------------------------------------------------------------------------
-function CensusPlus_GuildButton_OnClick()
+function CensusPlus_GuildButton_OnClick( this )
  local id = this:GetID();
  local offset = FauxScrollFrame_GetOffset(CensusPlusGuildScrollFrame);
  local newSelection = id + offset;
@@ -3940,7 +3951,7 @@
        name = gsub(name, "([^%s]*)%s+([^%s]*)%s+([^%s]*)", "%3");
        name = gsub(name, "([^%s]*)%s+([^%s]*)", "%2");
        if ( IsShiftKeyDown() ) then
-        if ( not ChatFrameEditBox:IsVisible() ) then
+        if ( not ChatFrame1EditBox:IsVisible() ) then
          --
          --  This is the part we need to snag
          --
@@ -4008,3 +4019,33 @@
   SendWho( msg );
  end
 end
+
+function CensusPlus_Options_OnMouseUp(self,...)
+		CensusPlus_Msg('Mouse up');
+
+	if ( self.isMoving ) then
+		self:StopMovingOrSizing();
+		self.isMoving = false;
+	end
+end
+
+function CensusPlus_Options_OnMouseDown(self,arg1,arg2,arg3,...)
+		if ( ( ( not self.isLocked ) or ( self.isLocked == 0 ) ) and ( arg1 == "LeftButton" ) ) then
+			self:StartMoving();
+			self.isMoving = true;
+		end
+end
+
+function CensusPlus_Mini_OnMouseDown( self, arg1 )
+                if ( ( ( not self.isLocked ) or ( self.isLocked == 0 ) ) and ( arg1 == "LeftButton" ) ) then
+                    self:StartMoving();
+                    self.isMoving = true;
+                end
+end
+
+function CensusPlus_Census_OnMouseDown( self, arg1 )
+                if ( ( ( not self.isLocked ) or ( self.isLocked == 0 ) ) and ( arg1 == "LeftButton" ) ) then
+                    self:StartMoving();
+                    self.isMoving = true;
+                end
+end