More fixes for Kel'Thuzad Encounter
This commit is contained in:
@@ -6,8 +6,8 @@
|
||||
|
||||
local version, build, date, tocversion = GetBuildInfo()
|
||||
|
||||
_detalhes.build_counter = 8710
|
||||
_detalhes.alpha_build_counter = 8710 --if this is higher than the regular counter, use it instead
|
||||
_detalhes.build_counter = 8720
|
||||
_detalhes.alpha_build_counter = 8720 --if this is higher than the regular counter, use it instead
|
||||
_detalhes.bcc_counter = 25
|
||||
_detalhes.dont_open_news = true
|
||||
_detalhes.game_version = version
|
||||
|
||||
+45
-63
@@ -324,6 +324,7 @@
|
||||
spikeball_cache.ignore_spikeballs = false
|
||||
|
||||
local NPCID_KELTHUZAD_FROSTBOUNDDEVOTED = 176703
|
||||
local NPCID_KELTHUZAD_ADDMIMICPLAYERS = 176605
|
||||
|
||||
--> damage spells to ignore
|
||||
local damage_spells_to_ignore = {
|
||||
@@ -602,20 +603,20 @@
|
||||
end
|
||||
|
||||
--REMOVE ON 10.0
|
||||
if (_current_encounter_id == 2422) then --kel'thuzad
|
||||
if (raid_members_cache[who_serial]) then --attacker is a player
|
||||
if (who_flags and _bit_band(who_flags, 0xA60) ~= 0) then --neutral or hostile and contorlled by npc
|
||||
who_name = who_name .. "*"
|
||||
who_flags = 0xA48
|
||||
end
|
||||
if (_current_encounter_id == 2422) then --kel'thuzad
|
||||
if (raid_members_cache[who_serial]) then --attacker is a player
|
||||
if (who_flags and _bit_band(who_flags, 0xa60) ~= 0) then --neutral or hostile and contorlled by npc
|
||||
who_name = who_name .. "*"
|
||||
who_flags = 0xa48
|
||||
end
|
||||
|
||||
elseif (raid_members_cache[alvo_serial]) then --defender is a player
|
||||
if (alvo_flags and _bit_band(alvo_flags, 0xA60) ~= 0) then --neutral or hostile and contorlled by npc
|
||||
alvo_name = alvo_name .. "*"
|
||||
alvo_flags = 0xA48
|
||||
elseif (raid_members_cache[alvo_serial]) then --defender is a player
|
||||
if (alvo_flags and _bit_band(alvo_flags, 0xa60) ~= 0) then --neutral or hostile and contorlled by npc
|
||||
alvo_name = alvo_name .. "*"
|
||||
alvo_flags = 0xa48
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
--
|
||||
|
||||
--> npcId check for ignored npcs
|
||||
@@ -631,10 +632,14 @@
|
||||
end
|
||||
|
||||
if (npcId == NPCID_KELTHUZAD_FROSTBOUNDDEVOTED) then --remove on 10.0
|
||||
alvo_flags = 0xA48
|
||||
alvo_flags = 0xa48
|
||||
end
|
||||
|
||||
if (npcId == NPCID_SPIKEDBALL) then --remove on 10.0
|
||||
if (npcId == NPCID_KELTHUZAD_ADDMIMICPLAYERS) then --remove on 10.0
|
||||
alvo_name = "Tank Add"
|
||||
end
|
||||
|
||||
if (npcId == NPCID_SPIKEDBALL) then --remove on 10.0, all this IF block
|
||||
if (spikeball_cache.ignore_spikeballs) then
|
||||
if (spikeball_cache.ignore_spikeballs > GetTime()) then
|
||||
return
|
||||
@@ -768,11 +773,9 @@
|
||||
end
|
||||
end
|
||||
|
||||
--_current_combat[1]:Remap()
|
||||
Details:RefreshMainWindow(-1, true)
|
||||
return
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
--source
|
||||
@@ -786,12 +789,13 @@
|
||||
end
|
||||
|
||||
if (npcId == NPCID_KELTHUZAD_FROSTBOUNDDEVOTED) then --remove on 10.0
|
||||
who_flags = 0xA48
|
||||
who_flags = 0xa48
|
||||
end
|
||||
if (npcId == NPCID_KELTHUZAD_ADDMIMICPLAYERS) then --remove on 10.0
|
||||
who_name = "Tank Add"
|
||||
end
|
||||
|
||||
if (npcId == NPCID_SPIKEDBALL) then --remove on 10.0
|
||||
print(1, "npc id match (IS ATTACK)")
|
||||
|
||||
--actor name
|
||||
local spikeName = spikeball_cache.name_cache[who_serial]
|
||||
if (not spikeName) then
|
||||
@@ -823,21 +827,21 @@
|
||||
|
||||
if (not _in_combat) then
|
||||
if ( token ~= "SPELL_PERIODIC_DAMAGE" and
|
||||
(
|
||||
(
|
||||
(who_flags and _bit_band (who_flags, AFFILIATION_GROUP) ~= 0 and _UnitAffectingCombat (who_name) )
|
||||
or
|
||||
(alvo_flags and _bit_band (alvo_flags, AFFILIATION_GROUP) ~= 0 and _UnitAffectingCombat (alvo_name) )
|
||||
(alvo_flags and _bit_band (alvo_flags, AFFILIATION_GROUP) ~= 0 and _UnitAffectingCombat (alvo_name) )
|
||||
or
|
||||
(not _detalhes.in_group and who_flags and _bit_band (who_flags, AFFILIATION_GROUP) ~= 0)
|
||||
)
|
||||
) then
|
||||
) then
|
||||
--> n�o entra em combate se for DOT
|
||||
if (_detalhes.encounter_table.id and _detalhes.encounter_table ["start"] >= _GetTime() - 3 and _detalhes.announce_firsthit.enabled) then
|
||||
if (_detalhes.encounter_table.id and _detalhes.encounter_table ["start"] >= GetTime() - 3 and _detalhes.announce_firsthit.enabled) then
|
||||
local link
|
||||
if (spellid <= 10) then
|
||||
link = _GetSpellInfo (spellid)
|
||||
link = GetSpellInfo(spellid)
|
||||
else
|
||||
link = GetSpellLink (spellid)
|
||||
link = GetSpellLink(spellid)
|
||||
end
|
||||
|
||||
if (_detalhes.WhoAggroTimer) then
|
||||
@@ -894,7 +898,6 @@
|
||||
damage_cache [who_name] = este_jogador
|
||||
local _, _, icon = _GetSpellInfo (spellid or 1)
|
||||
este_jogador.spellicon = icon
|
||||
--print ("no serial actor", spellname, who_name, "added to cache.")
|
||||
else
|
||||
--_detalhes:Msg ("Unknown actor with unknown serial ", spellname, who_name)
|
||||
end
|
||||
@@ -908,8 +911,6 @@
|
||||
end
|
||||
|
||||
if (not este_jogador) then
|
||||
--print ("no ente_jogador")
|
||||
--print (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, alvo_flags2, spellid, spellname, spelltype, amount)
|
||||
return
|
||||
end
|
||||
|
||||
@@ -1027,7 +1028,6 @@
|
||||
mob ["BLOCKED_HITS"] = mob ["BLOCKED_HITS"] + 1
|
||||
overall ["BLOCKED_AMT"] = overall ["BLOCKED_AMT"] + blocked
|
||||
mob ["BLOCKED_AMT"] = mob ["BLOCKED_AMT"] + blocked
|
||||
--print (alvo_name, "block", blocked)
|
||||
end
|
||||
|
||||
--> absorbs status
|
||||
@@ -1152,7 +1152,7 @@
|
||||
end
|
||||
end
|
||||
|
||||
if (is_friendly_fire and spellid ~= SPELLID_KYRIAN_DRUID_TANK) then
|
||||
if (is_friendly_fire and spellid ~= SPELLID_KYRIAN_DRUID_TANK) then --kyrian spell remove on 10.0
|
||||
if (este_jogador.grupo) then --> se tiver ele n�o adiciona o evento l� em cima
|
||||
local t = last_events_cache [alvo_name]
|
||||
|
||||
@@ -1503,7 +1503,6 @@
|
||||
damage_cache [who_name] = este_jogador
|
||||
local _, _, icon = _GetSpellInfo (spellid or 1)
|
||||
este_jogador.spellicon = icon
|
||||
--print ("no serial actor", spellname, who_name, "added to cache.")
|
||||
else
|
||||
--_detalhes:Msg ("Unknown actor with unknown serial ", spellname, who_name)
|
||||
end
|
||||
@@ -1632,9 +1631,8 @@
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
--> get actors
|
||||
--todo tbc seems to not have misses? need further investigation
|
||||
--print ("MISS", "|", missType, "|", isOffHand, "|", amountMissed, "|", arg1)
|
||||
|
||||
|
||||
--print (missType, who_name, spellname, amountMissed)
|
||||
|
||||
|
||||
@@ -1739,7 +1737,6 @@
|
||||
--> damage ocurred first, so we have its data
|
||||
local amount = reflection_damage[who_serial][spellid].amount
|
||||
|
||||
--print("1", spellid, GetSpellInfo(spellid))
|
||||
local isreflected = spellid --which spell was reflected
|
||||
alvo_serial = reflection.who_serial
|
||||
alvo_name = reflection.who_name
|
||||
@@ -1796,16 +1793,24 @@
|
||||
return
|
||||
end
|
||||
|
||||
--print(token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, alvo_flags2, spellid, spellName)
|
||||
--Player-3209-083BBABE Kastfall 1297 Creature-0-4229-1642-17-69792-00005E1CC4 Earth Spirit 8465 0 138121 Storm, Earth, and Fire
|
||||
--Player-3209-083BBABE Kastfall 1297 Creature-0-4229-1642-17-69791-00005E1CC4 Fire Spirit 8465 0 138123 Storm, Earth, and Fire
|
||||
|
||||
if (not who_name) then
|
||||
who_name = "[*] " .. spellName
|
||||
end
|
||||
|
||||
local npcId = _tonumber(_select (6, _strsplit ("-", alvo_serial)) or 0)
|
||||
|
||||
--kel'thuzad encounter --remove on 10.0
|
||||
if (npcId == NPCID_KELTHUZAD_FROSTBOUNDDEVOTED) then
|
||||
return
|
||||
elseif (spellid == 358108) then --Restore Health
|
||||
return
|
||||
elseif (spellid == 352092) then --March of the Forsaken
|
||||
return
|
||||
elseif (spellid == 352094) then --March of the Forsaken
|
||||
return
|
||||
end
|
||||
--
|
||||
|
||||
--rename monk's "Storm, Earth, and Fire" adds
|
||||
--desligado pois poderia estar causando problemas
|
||||
if (npcId == 69792) then
|
||||
@@ -1825,11 +1830,7 @@
|
||||
who_name, who_serial, who_flags = alvo_pet[1], alvo_pet[2], alvo_pet[3]
|
||||
end
|
||||
|
||||
--petTable:Add
|
||||
_detalhes.tabela_pets:Adicionar (alvo_serial, alvo_name, alvo_flags, who_serial, who_name, who_flags)
|
||||
|
||||
--debug summons:
|
||||
--print("summon:", who_name, alvo_serial, alvo_name, alvo_flags, spellid, spellName)
|
||||
return
|
||||
end
|
||||
|
||||
@@ -1854,7 +1855,6 @@
|
||||
|
||||
function parser:heal_denied (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, alvo_flags2, spellidAbsorb, spellnameAbsorb, spellschoolAbsorb, serialHealer, nameHealer, flagsHealer, flags2Healer, spellidHeal, spellnameHeal, typeHeal, amountDenied)
|
||||
|
||||
-- print (who_name, alvo_name, nameHealer, spellidHeal, spellnameHeal, typeHeal, amountDenied)
|
||||
if (not _in_combat) then
|
||||
return
|
||||
end
|
||||
@@ -1868,11 +1868,7 @@
|
||||
|
||||
--> no name, use spellname
|
||||
if (not who_name) then
|
||||
if (not spellname) then
|
||||
--print ("ERROR:", token, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, alvo_flags2, spellidAbsorb, spellnameAbsorb, spellschoolAbsorb, serialHealer, nameHealer, flagsHealer, flags2Healer, spellidHeal, spellnameHeal, typeHeal, amountDenied)
|
||||
end
|
||||
--who_name = "[*] "..spellname
|
||||
who_name = "[*] " .. (spellname or "--unknown spell--")
|
||||
who_name = "[*] " .. (spellnameHeal or "--unknown spell--")
|
||||
end
|
||||
|
||||
--> no target, just ignore
|
||||
@@ -2425,13 +2421,8 @@
|
||||
local enemyName = GetSpellInfo(315161)
|
||||
who_serial, who_name, who_flags = "", enemyName, 0xa48
|
||||
|
||||
--3/11 14:08:34.105 SPELL_CAST_START,Player-3676-06D63197,"Clutchdaily-Area52",0x512,0x0,0000000000000000,nil,0x80000000,0x80000000,342171,"Loyal Stoneborn",0x20
|
||||
--3/11 14:08:35.690 SPELL_CAST_SUCCESS,Player-3676-06D63197,"Clutchdaily-Area52",0x512,0x0,0000000000000000,nil,0x80000000,0x80000000,342171,"Loyal Stoneborn",0x20,Player-3676-06D63197,0000000000000000,59976,68222,1882,304,3067,0,1,405,1000,0,-2191.13,5230.31,1663,3.1663,218
|
||||
elseif (spellid == SPELLID_VENTYR_TAME_GARGOYLE) then --ventyr tame gargoyle on halls of atonement
|
||||
--3/11 14:08:35.690 SPELL_AURA_APPLIED,Player-3676-06D63197,"Clutchdaily-Area52",0x512,0x0,Creature-0-4220-2287-20503-174175-0000CA4BDB,"Loyal Stoneborn",0xa48,0x0,342171,"Loyal Stoneborn",0x20,DEBUFF
|
||||
--tag the target of this spell as a pet of caster
|
||||
elseif (spellid == SPELLID_VENTYR_TAME_GARGOYLE) then --ventyr tame gargoyle on halls of atonement --remove on 10.0
|
||||
_detalhes.tabela_pets:Adicionar(alvo_serial, alvo_name, alvo_flags, who_serial, who_name, 0x00000417)
|
||||
--print("D! player", who_name, "tamed a gargoyle in HOA.")
|
||||
end
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
@@ -3028,8 +3019,6 @@
|
||||
return print ("Parser Event Error -> Set to 16 DeathLogs and /reload", i, _death_event_amt)
|
||||
end
|
||||
|
||||
--print ("DebuffIN", ">", "Added to the DeathLog")
|
||||
|
||||
this_event [1] = 4 --> 4 = debuff aplication
|
||||
this_event [2] = spellid --> spellid
|
||||
this_event [3] = 1
|
||||
@@ -3079,8 +3068,6 @@
|
||||
return print ("Parser Event Error -> Set to 16 DeathLogs and /reload", i, _death_event_amt)
|
||||
end
|
||||
|
||||
--print ("DebuffRefresh", ">", "Added to the DeathLog", stack_amount)
|
||||
|
||||
this_event [1] = 4 --> 4 = debuff aplication
|
||||
this_event [2] = spellid --> spellid
|
||||
this_event [3] = stack_amount or 1
|
||||
@@ -4091,7 +4078,6 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
--> build dead
|
||||
--print("dead", alvo_flags, _bit_band (alvo_flags, 0x00000008) ~= 0, _current_encounter_id)
|
||||
|
||||
local damageActor = _current_damage_container:GetActor(alvo_name)
|
||||
--check for outsiders
|
||||
@@ -4099,7 +4085,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
--> outsider death while in combat
|
||||
|
||||
--rules for specific encounters
|
||||
if (_current_encounter_id == 2412) then --> The Council of Blood (REMOVE ON v10.0.1)
|
||||
if (_current_encounter_id == 2412) then --> The Council of Blood --REMOVE ON v10.0
|
||||
|
||||
if (not Details.exp90temp.delete_damage_TCOB) then
|
||||
return
|
||||
@@ -4858,13 +4844,11 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
end
|
||||
|
||||
_current_encounter_id = encounterID
|
||||
--Details:Msg("encounter started:", encounterID, encounterName)
|
||||
_detalhes.boss1_health_percent = 1
|
||||
|
||||
local dbm_mod, dbm_time = _detalhes.encounter_table.DBM_Mod, _detalhes.encounter_table.DBM_ModTime
|
||||
_table_wipe (_detalhes.encounter_table)
|
||||
|
||||
--print (encounterID, encounterName, difficultyID, raidSize)
|
||||
_detalhes.encounter_table.phase = 1
|
||||
|
||||
--store the encounter time inside the encounter table for the encounter plugin
|
||||
@@ -4907,8 +4891,6 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
end
|
||||
|
||||
_detalhes:SendEvent ("COMBAT_ENCOUNTER_START", nil, ...)
|
||||
|
||||
--print ("encounter staerted at:", _detalhes.encounter_table.start)
|
||||
end
|
||||
|
||||
function _detalhes.parser_functions:ENCOUNTER_END (...)
|
||||
|
||||
Reference in New Issue
Block a user