updates
This commit is contained in:
+239
@@ -0,0 +1,239 @@
|
||||
--File Revision: 1
|
||||
--Last Modification: 27/07/2013
|
||||
-- Change Log:
|
||||
-- 27/07/2013: Finished alpha version.
|
||||
|
||||
function _G._detalhes:Start()
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> details defaults
|
||||
|
||||
-- _detalhes.debug = true
|
||||
|
||||
--> who is
|
||||
self.playername = UnitName ("player")
|
||||
self.playerserial = UnitGUID ("player")
|
||||
|
||||
--> player faction and enemy faction
|
||||
self.faction = UnitFactionGroup ("player")
|
||||
if (self.faction == PLAYER_FACTION_GROUP[0]) then --> player is horde
|
||||
self.faction_against = PLAYER_FACTION_GROUP[1] --> ally
|
||||
elseif (self.faction == PLAYER_FACTION_GROUP[1]) then --> player is alliance
|
||||
self.faction_against = PLAYER_FACTION_GROUP[0] --> horde
|
||||
end
|
||||
|
||||
self.zone_type = nil
|
||||
_detalhes.temp_table1 = {}
|
||||
|
||||
--> combat
|
||||
self.in_combat = false
|
||||
self.combat_id = self.combat_id or 0
|
||||
self.segments_amount = self.segments_amount or 3
|
||||
self.deadlog_limit = self.deadlog_limit or 12
|
||||
self.minimum_combat_time = self.minimum_combat_time or 5
|
||||
|
||||
if (type (self.clear_graphic) ~= "boolean") then
|
||||
self.clear_graphic = self.clear_graphic or true
|
||||
end
|
||||
|
||||
if (type (self.clear_ungrouped) ~= "boolean") then
|
||||
self.clear_ungrouped = self.clear_ungrouped or true
|
||||
end
|
||||
|
||||
if (type (self.use_row_animations) ~= "boolean") then
|
||||
self.use_row_animations = self.use_row_animations or false
|
||||
end
|
||||
|
||||
--> instances (windows)
|
||||
self.solo = self.solo or nil
|
||||
self.raid = self.raid or nil
|
||||
self.opened_windows = 0
|
||||
|
||||
self.update_speed = self.update_speed or 1
|
||||
self.time_type = self.time_type or 1
|
||||
|
||||
self.row_fade_in = self.row_fade_in or {"in", 0.2}
|
||||
self.row_fade_out = self.row_fade_out or {"out", 0.2}
|
||||
self.windows_fade_in = self.windows_fade_in or {"in", 0.2}
|
||||
self.windows_fade_out = self.windows_fade_out or {"out", 0.2}
|
||||
|
||||
self.default_texture = [[Interface\AddOns\Details\images\bar4]]
|
||||
self.default_texture_name = "Details D'ictum"
|
||||
|
||||
self.default_bg_color = self.default_bg_color or 0.0941
|
||||
self.default_bg_alpha = self.default_bg_alpha or 0.7
|
||||
|
||||
self.new_window_size = self.new_window_size or {width = 300, height = 95}
|
||||
self.max_window_size = self.max_window_size or {width = 480, height = 450}
|
||||
self.window_clamp = self.window_clamp or {-8, 0, 30, -14}
|
||||
|
||||
self.report_lines = self.report_lines or 5
|
||||
self.report_to_who = self.report_to_who or ""
|
||||
|
||||
self.animate_scroll = self.animate_scroll or false
|
||||
self.use_scroll = self.use_scroll or false
|
||||
|
||||
self.tooltip_max_targets = 3
|
||||
self.tooltip_max_abilities = 3
|
||||
self.tooltip_max_pets = 1
|
||||
|
||||
self.font_sizes = self.font_sizes or {
|
||||
menus = 10
|
||||
}
|
||||
|
||||
if (not self.tutorial) then
|
||||
self.tutorial = {
|
||||
unlock_button = 0,
|
||||
}
|
||||
end
|
||||
|
||||
--> class colors and tcoords
|
||||
if (not self.class_colors) then
|
||||
self.class_colors = {}
|
||||
for classe, tabela_cor in pairs ( RAID_CLASS_COLORS ) do
|
||||
self.class_colors [classe] = {tabela_cor.r, tabela_cor.g, tabela_cor.b}
|
||||
end
|
||||
--self.class_colors ["UNKNOW"] = {0.3921, 0.0980, 0.0980}
|
||||
self.class_colors ["UNKNOW"] = {0.2, 0.2, 0.2}
|
||||
self.class_colors ["UNGROUPPLAYER"] = {0.4, 0.4, 0.4}
|
||||
self.class_colors ["PET"] = {0.3, 0.4, 0.5}
|
||||
end
|
||||
|
||||
self.class_coords = {}
|
||||
for class, tcoord in pairs (_G.CLASS_ICON_TCOORDS) do
|
||||
self.class_coords [class] = tcoord
|
||||
end
|
||||
|
||||
self.class_icons_small = [[Interface\AddOns\Details\images\classes_small]]
|
||||
self.class_coords ["Alliance"] = {0.49609375, 0.7421875, 0.75, 1}
|
||||
self.class_coords ["Horde"] = {0.7421875, 0.98828125, 0.75, 1}
|
||||
self.class_coords ["PET"] = {0.25, 0.49609375, 0.75, 1}
|
||||
self.class_coords ["MONSTER"] = {0, 0.25, 0.75, 1}
|
||||
|
||||
self.class_coords ["UNKNOW"] = {0.5, 0.75, 0.75, 1}
|
||||
self.class_coords ["UNGROUPPLAYER"] = {0.5, 0.75, 0.75, 1}
|
||||
|
||||
|
||||
|
||||
|
||||
--> single click row function replace
|
||||
--damage, dps, damage taken, friendly fire
|
||||
self.row_singleclick_overwrite [1] = {true, true, true, true}
|
||||
--healing, hps, overheal, healing taken
|
||||
self.row_singleclick_overwrite [2] = {true, true, true, true}
|
||||
--mana, rage, energy, runepower
|
||||
self.row_singleclick_overwrite [3] = {true, true, true, true}
|
||||
--cc breaks, ress, interrupts, dispells, deaths
|
||||
self.row_singleclick_overwrite [4] = {true, true, true, true, self.atributo_misc.ReportSingleDeadLine}
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> initialize
|
||||
|
||||
--> build frames
|
||||
--> cooltip
|
||||
self.popup = DetailsCreateCoolTip()
|
||||
--> fast switch
|
||||
if (self.switch.InitSwitch) then
|
||||
self.switch:InitSwitch()
|
||||
end
|
||||
--> custom window
|
||||
self.custom = self.custom or {}
|
||||
self:InitCustom()
|
||||
--> actor info
|
||||
self.janela_info = self.gump:CriaJanelaInfo()
|
||||
self.gump:Fade (self.janela_info, 1)
|
||||
--> copy and paste window
|
||||
self:CreateCopyPasteWindow()
|
||||
self.CreateCopyPasteWindow = nil
|
||||
|
||||
--> start instances
|
||||
if (self:QuantasInstancias() == 0) then
|
||||
self:CriarInstancia()
|
||||
else
|
||||
self:ReativarInstancias()
|
||||
end
|
||||
self:GetLowerInstanceNumber()
|
||||
self:CheckConsolidates()
|
||||
|
||||
--> start time machine
|
||||
self.timeMachine:Ligar()
|
||||
|
||||
--> start instances updater
|
||||
self:AtualizaGumpPrincipal (-1, true)
|
||||
self.atualizador = self:ScheduleRepeatingTimer ("AtualizaGumpPrincipal", _detalhes.update_speed, -1)
|
||||
|
||||
for index = 1, #self.tabela_instancias do
|
||||
local instance = self.tabela_instancias [index]
|
||||
if (instance:IsAtiva()) then
|
||||
self:ScheduleTimer ("RefreshBars", 1, instance)
|
||||
end
|
||||
end
|
||||
|
||||
function self:AtualizaGumps()
|
||||
self:AtualizaGumpPrincipal (-1, true)
|
||||
self.AtualizaGumps = nil
|
||||
for index = 1, #self.tabela_instancias do
|
||||
local instance = self.tabela_instancias [index]
|
||||
if (instance:IsAtiva()) then
|
||||
if (instance.wallpaper.enabled) then
|
||||
instance:InstanceWallpaper (true)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
self:ScheduleTimer ("AtualizaGumps", 4)
|
||||
|
||||
--> start garbage collector
|
||||
self.ultima_coleta = 0
|
||||
self.intervalo_coleta = 1800
|
||||
self.garbagecollect = self:ScheduleRepeatingTimer ("IniciarColetaDeLixo", self.intervalo_coleta)
|
||||
|
||||
--> start parser
|
||||
|
||||
--> load parser capture options
|
||||
self:CaptureRefresh()
|
||||
--> register parser events
|
||||
self.listener:RegisterEvent ("COMBAT_LOG_EVENT_UNFILTERED")
|
||||
self.listener:RegisterEvent ("PLAYER_REGEN_DISABLED")
|
||||
self.listener:RegisterEvent ("PLAYER_REGEN_ENABLED")
|
||||
self.listener:RegisterEvent ("SPELL_SUMMON")
|
||||
self.listener:RegisterEvent ("UNIT_PET")
|
||||
|
||||
self.listener:RegisterEvent ("PARTY_MEMBERS_CHANGED")
|
||||
self.listener:RegisterEvent ("RAID_ROSTER_UPDATE")
|
||||
self.listener:RegisterEvent ("PARTY_CONVERTED_TO_RAID")
|
||||
|
||||
self.listener:RegisterEvent ("INSTANCE_ENCOUNTER_ENGAGE_UNIT")
|
||||
|
||||
self.listener:RegisterEvent ("ZONE_CHANGED_NEW_AREA")
|
||||
self.listener:RegisterEvent ("PLAYER_ENTERING_WORLD")
|
||||
|
||||
-- self.listener:RegisterEvent ("SPELL_CAST_START")
|
||||
-- self.listener:RegisterEvent ("UNIT_SPELLCAST_STOP")
|
||||
-- self.listener:RegisterEvent ("UNIT_SPELLCAST_SUCCEEDED")
|
||||
-- self.listener:RegisterEvent ("UNIT_SPELLCAST_FAILED")
|
||||
-- self.listener:RegisterEvent ("UNIT_SPELLCAST_FAILED_QUIET")
|
||||
-- self.listener:RegisterEvent ("UNIT_SPELLCAST_INTERRUPTED")
|
||||
----------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
--> done
|
||||
self.initializing = nil
|
||||
|
||||
--> send messages gathered on initialization
|
||||
self:ScheduleTimer ("ShowDelayMsg", 7)
|
||||
|
||||
--> send instance open signal
|
||||
for index, instancia in ipairs (self.tabela_instancias) do
|
||||
if (instancia.ativa) then
|
||||
self:SendEvent ("DETAILS_INSTANCE_OPEN", nil, instancia)
|
||||
end
|
||||
end
|
||||
|
||||
--> all done, send started signal and we are ready
|
||||
function self:AnnounceStartup()
|
||||
self:SendEvent ("DETAILS_STARTED", "SEND_TO_ALL")
|
||||
end
|
||||
self:ScheduleTimer ("AnnounceStartup", 5)
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user