this is all from blue posts on www.forums.worldofwarcraft.com
Originally Posted by Alterac Valley Improvements in 2.4Alterac Valley will see a few very significant improvements in the next patch and we wanted to share the details of what we have planned.
The first change will be to move the Horde's starting tunnel back to a more equal distance from the first objectives, which will help evenly distance the starting points for each side across the terrain when the battle commences.
In addition, the General and Warmasters for each faction will receive a stacking buff from each other that boosts their health and damage. The more of them that are still in the battleground, the more dangerous they will all be. This will put a greater focus on destroying (and defending!) the towers that remove the Warmasters as players work toward defeating the appropriate General and conquering the land.
Also Balinda Stonehearth has been studying her spellbooks to become a more challenging opponent to the Horde and will do more damage with her spells. The additional health we recently added to Balinda and General Vanndar Stormpike will no longer be needed with these improvements and will be changed back to their previous amounts with the patch.
With these improvements teamwork and strategy will be more important than ever from beginning to end as the Alliance and Horde battle for victory in Alterac Valley. We'll see you on the battlefield.Originally Posted by 2.4.0 Guide to the New Combat Log
Hello Fellow UI Modders,
With the release of patch 2.4.0, we’ve made some enormous changes to the existing combat log. While this will result in some hard work now, it should be easier to maintain your AddOns in the future.
The feature we’re most proud of is the ability to filter your combat log. The combat log stores the last five minutes worth of raw combat events. Filters can be setup on multiple criteria, affiliation, ownership, etc. Any events that match the current filter are passed through the client via the COMBAT_LOG_EVENT message. The combat log filter is global. However, AddOns which want to parse all events the moment they happen can register for the COMBAT_LOG_EVENT_UNFILTERED message. This should allow all existing AddOns to still respond to combat events without a complicated middle-manager AddOn.
While the default combat log will only be setting 1-2 filters at a time, the WoW client supports many simultaneous filters. It’s possible to setup multiple filters to filter very specific source-target-event combinations. If a combat log event passes any of the filters, the COMBAT_LOG_EVENT event fires. This allows AddOns to define extremely specific settings we chose not expose in the base UI.
The new combat log will be coming with two text formats. One is the familiar, grammatically correct sentences with substitutions. The other is a terse format, containing the source, target, spell, action and result. There will be a number of ways to manipulate the formatting, from unit name coloring to coloring the damage numbers by their magic school. The settings used for these formats are stored in the Blizzard_CombatLog_Filters variable.
The result of the new terse format is that it’s very easy to write AddOns to modify or extend the format which ships with 2.4.0. In the formatting section, you can read up on a quick demonstration of how to convert the combat log to a “Nurfed” style combat log. While you can do a lot by just adjusting the settings within WoW, it’s also possible to provide an AddOn that changes the strings used to generate the Combat Log messages. This allows for more extensive formatting changes without re-writing the entire parsing engine. See the Formatting Section for an example.
The whole combat log also supports a new coloring model, based on context. While by default, entire lines are a single color, highlighting the most important details. The combat log also supports coloring just unit names, spells, actions and damage numbers. Spells and damage can also be colored by school. However, there are several features not exposed in the base UI that AddOns can use right away. These are event-specific coloring, unit coloring with greater granularity and the ability to customize the list of highlighted events.
There are several other formatting related features. You can enable timestamps which show the time that spell or attack happened. You can show or hide square braces, change formatting without refreshing the combat log and disable the display of raid icons. These features were too niche to go into the base UI, but can be easily exposed for power users. By now you’ve already thought of some features of your own and are ready to get to coding. So let’s jump straight to some examples.Originally Posted by Formatting & ColoringOne of the major combat log formats we considered while redoing the combat log was the Nurfed Combat Log format. This combat log format was very concise, made heavy use of color-coding and was one of the final candidates for the combat log. We eventually axed it on the basis of being too overwhelming for new users. However, we left in all of the options to convert the current combat log into the Nurfed combat log.
Combat Log Settings -> Colors
Me -> Green
My Pet -> Dark Green
Friends -> Blue
Enemies -> Red
Neutral -> Yellow
Unit Names -> Checked
Spell Names -> Checked
Spell Color-by-School -> Checked
Damage Number -> Checked
Damage Color-by-School -> Checked
Damage School -> Checked
Entire Line -> Unchecked
All Highlighting Options-> Unchecked
Verbose -> Unchecked
Braces -> Checked
Timestamps -> Checked
However, some people may want it even more terse than that. For this, we present:
Hyper Condensed Mode
To get rid of the word “Fire” and “Frost” type:
/script TEXT_MODE_A_STRING_VALUE_SCHOOL = “”;
That will remove the Fire from “55 Fire”. However, let’s go even farther:
(Critical) (Crushing) (Blocked) (Resisted)
All of these are really long. Let’s compress them:
TEXT_MODE_A_STRING_RESULT_RESISTED = "R";
TEXT_MODE_A_STRING_RESULT_BLOCKED = "B";
TEXT_MODE_A_STRING_RESULT_ABSORBED = "A";
TEXT_MODE_A_STRING_RESULT_CRITICAL = "C";
TEXT_MODE_A_STRING_RESULT_GLANCING = "G";
TEXT_MODE_A_STRING_RESULT_CRUSHING = "Cr";
Now we get
[You] [Fireball] Hit [Spider] 64. (C) (5 R)Originally Posted by FiltersFilters consistent of 3 parts:
Source & Target can be one of two types:
If it is a string, then that string is assumed to be the GUID of the unit in question. If it’s a number, it is assumed to be a bitfield assembled from the following criteria:
COMBATLOG_OBJECT_AFFILIATION_MINE = 0x00000001;
COMBATLOG_OBJECT_AFFILIATION_PARTY = 0x00000002;
COMBATLOG_OBJECT_AFFILIATION_RAID = 0x00000004;
COMBATLOG_OBJECT_AFFILIATION_OUTSIDER = 0x00000008;
COMBATLOG_OBJECT_AFFILIATION_MASK = 0x0000000F;
COMBATLOG_OBJECT_REACTION_FRIENDLY = 0x00000010;
COMBATLOG_OBJECT_REACTION_NEUTRAL = 0x00000020;
COMBATLOG_OBJECT_REACTION_HOSTILE = 0x00000040;
COMBATLOG_OBJECT_REACTION_MASK = 0x000000F0;
COMBATLOG_OBJECT_CONTROL_PLAYER = 0x00000100;
COMBATLOG_OBJECT_CONTROL_NPC = 0x00000200;
COMBATLOG_OBJECT_CONTROL_MASK = 0x00000300;
-- Unit type
COMBATLOG_OBJECT_TYPE_PLAYER = 0x00000400;
COMBATLOG_OBJECT_TYPE_NPC = 0x00000800;
COMBATLOG_OBJECT_TYPE_PET = 0x00001000;
COMBATLOG_OBJECT_TYPE_GUARDIAN = 0x00002000;
COMBATLOG_OBJECT_TYPE_OBJECT = 0x00004000;
COMBATLOG_OBJECT_TYPE_MASK = 0x0000FC00;
-- Special cases (non-exclusive)
COMBATLOG_OBJECT_TARGET = 0x00010000;
COMBATLOG_OBJECT_FOCUS = 0x00020000;
COMBATLOG_OBJECT_MAINTANK = 0x00040000;
COMBATLOG_OBJECT_MAINASSIST = 0x00080000;
COMBATLOG_OBJECT_RAIDTARGET1 = 0x00100000;
COMBATLOG_OBJECT_RAIDTARGET2 = 0x00200000;
COMBATLOG_OBJECT_RAIDTARGET3 = 0x00400000;
COMBATLOG_OBJECT_RAIDTARGET4 = 0x00800000;
COMBATLOG_OBJECT_RAIDTARGET5 = 0x01000000;
COMBATLOG_OBJECT_RAIDTARGET6 = 0x02000000;
COMBATLOG_OBJECT_RAIDTARGET7 = 0x04000000;
COMBATLOG_OBJECT_RAIDTARGET8 = 0x08000000;
COMBATLOG_OBJECT_NONE = 0x80000000;
COMBATLOG_OBJECT_SPECIAL_MASK = 0xFFFF0000;
A unit can only be one of the following four categories:
Here’s a quick explanation of how these flags are broken down:
A unit’s affiliation is the unit’s relationship relative to YOU. Either it is owned by you, your party, your raid or someone else.
This is the unit’s faction reaction, relative to you. Anything that hates you is Hostile, anything that is friendly with you is Friendly, everything else is Neutral.
This is who owns this object. It can only be controlled by a player or the server.
This is the way the unit is currently being controlled. Units directly controlled by their owner are players. Units controlled by the server are NPCs. Pets are controlled by another player or unit. Guardians are automatons that are not controlled, but automatically defend their master. Objects are everything else, such as Traps.
The result is that these bits can tell you what kind of unit that combat log object was.
A player who is dueling you is 0x0548.
(A hostile outsider who is both owned by a player and controlled as a player)
A player who was mind controlled that attacks you is 0x1148.
(A hostile outsiders who is owned by a player, but controlled as a pet)
The default filters are constructed by summing certain bit combinations together:
COMBATLOG_FILTER_MINE = bit.bor (
This means that everything colored mine by default must be affiliated with me, friendly, controlled by a player and be a player.
Any unit that matches at least one bit in each of the four exclusive categories will pass the filter test. Filters can have more than one bit set in a category.
COMBATLOG_FILTER_FRIENDLY_UNITS = bit.bor(
This will allow messages relating to any unit who has a friendly reaction with you, the player. (Another way to do this is to use the “_MASK” suffixed globals, rather than specifying all bits, but I did it this way to make the point clear).Originally Posted by Setting up FiltersEach time you call the CombatLogAddFilter() function, you add a new filter. Any unit that passes that filter fires the COMBAT_LOG_EVENT event. For example, if you wanted to see anything that you did and anything hostile enemies did to you, you would call the following
CombatLogAddFilter(nil, COMBATLOG_FILTER_MINE, nil)
CombatLogAddFilter(nil, COMBATLOG_FILTER_HOSTILE_UNITS , COMBATLOG_FILTER_MINE nil)
Retrieving Combat Messages
Once you setup your filter, all of the entries which match that filter are organized into a linked list. By calling CombatLogSetCurrentEntry(1), you set the current pointer to the beginning of that list. If no message exists, CombatLogSetCurrentEntry(1) will fail. If you pass a negative number into CombatLogSetCurrentEntry(), it will select the Nth entry from the end of the list.
To move the pointer forward, call CombatLogAdvanceEntry(1) to move to the next entry in the list.
The CombatLogGetCurrentEntry() and COMBAT_LOG_EVENT events will return all of the arguments for that event. The exact argument order depends on the event, but here are the arguments that do not change:
timestamp, event, srcGUID, srcName, srcFlags, dstGUID, dstName, dstFlags = CombatLogGetCurrentEntry()
There are honestly too many events to go into detail on all of them here, but here’s the basic organization.
SWING – These events relate to melee swings, commonly called “White Damage”.
RANGE – These events relate to hunters shooting their bow or a warlock shooting their wand.
SPELL – These events relate to spells and abilities.
SPELL_CAST – These events relate to spells starting and failing.
SPELL_AURA – These events relate to buffs and debuffs.
SPELL_PERIODIC – These events relate to HoT, DoTs and similar effects.
DAMAGE_SHIELD – These events relate to damage shields, such as Thorns
ENCHANT – These events relate to temporary and permanent item buffs.
ENVIRONMENTAL – This is any damage done by the world. Fires, Lava, Falling, etc.
_DAMAGE – If the event resulted in damage, here it is.
_MISSED - If the event resulted in failure, such as missing, resisting or being blocked.
_HEAL – If the event resulted in a heal.
_ENERGIZE – If the event resulted in a power restoration.
_LEECH – If the event transferred health or power.
_DRAIN – If the event reduces power, but did not transfer it.
PARTY_KILL – Fired when you or a party member kills something.
UNIT_DIED – Fired when any nearby unit dies.
Q & A:
Q: The combat log only stores 5 minutes of events. Why 5? Why not 10?
A: We feel that 5 minutes is a good base number for most players . You can change this length, however with the CombatLogSetRetentionTime(seconds) function.
Q: Will the combat log be saved when I logout to my character list?
A: No. However, if you only reload the UI, the messages stay in the client.
Q: Why did you do it this way? Why didn’t you do it X way?
A: We tried to expose as much information as we could, without compromising gameplay and giving us the feature set we needed.
Q: Why didn’t you include information about who owns <Summoned Pet Name Here>?
A: This was one we considered for a while, but decided to leave out for the sake of simplicity. We’re going to be watching how the new combat log plays out before adding new features or making additional changes.
Q: Why did the CombatLog.txt file change?
A: Changing the CombatLog.txt format freed us to implement the combat log in this new event-driven way. We also felt that providing the combat log as raw data made parsing easier for sites such as WoW Web Stats, avoiding localization issues.
Q: Will the combat log format change again?
A: We’re always dedicated to improving our game, so we will very likely be making changes again in the future. However, we do realize the frustration that comes with AddOns breaking between patches. Hopefully, this new system will actually reduce how often you need to recode your AddOns, by decoupling AddOn authors from localization changes.
Q: Can we provide feedback on the new combat log?
A: Absolutely! We’ll be reading the Test Forums during the 2.4.0 PTR and gathering feedback. The more constructive, clear and concise the feedback is, the more responsive we can be.Originally Posted by Raiding improvementsWe have a few changes planned for patch 2.4 that we'd like to share a little bit with you. First, all 25-player raid bosses will drop more gold and those who dropped set tokens will drop one additional token. Additionally, the the loot dropped by Doomlord Kazzak and Doomwalker has been changed to bind-on-equip. These two outdoor raid bosses will also drop much more gold than before as well.
Lastly, Scale of the Sands reputation will now be awarded in Hyjal at a much higher.Originally Posted by Spell HasteAlthough not terribly relevant to your discussion I thought I'd jump in and let you know about some Spell Haste changes in the upcoming patch.
In 2.4, Spell Haste will reduce the global cool down on spells, down to a minimum of 1 second. It won't apply to melee and ranged abilities though however.Originally Posted by Looting UI changesSince I've decided there's absolutely no relevant thread I could ever find to throw out this info...
We're making some improvements to the way the looting UI and related functions work in 2.4. These are just a couple of the changes planned.
First when you loot a Bind on Pickup item that only you can pick up (such as Heroic Badges) you'll no longer see the confirmation dialog. One less pop-up to deal with, obviously you want your badges, AMIRITE?
Also when you loot a Bind of Pickup item the confirmation window is going to list the name of the item in the window. You'll be able to identify that you're getting the right items much easier now.
There are a few more but I won't ruin all the surprises.Originally Posted by Ritual of SummoningPatch 2.4 will remove the restriction for Ritual of Summoning that prevents you from summoning players into instances. Provided the player meets the instance requirements, you'll be able to summon them in from anywhere in the world.Originally Posted by Healing GraceOne thing that will help is that in patch 2.4, healing grace will reduce the chance that all of your spells will be dispelled by 10/20/30%.Originally Posted by LacerateThe Feral bears will be seeing an improvement with Lacerate dealing additional damage based on your attack power.Originally Posted by Diminishing ReturnsAs the PTR approaches we wanted to give everyone a preview of one of the larger changes for PvP that's currently planned for the 2.4 patch.
Currently, diminishing returns are applied to all honorable kills. What diminishing returns mean for honor is that each subsequent kill of the same target will reward you with less and less honor; 10% less per kill to be exact. One of the major downsides to diminishing returns is that the calculations, for potentially hundreds of thousands of players, is too intense to do real time, so they are calculated during off-peak hours. This in turn requires that the honor you gain be temporarily displayed as "estimated" until the calculations are run. It's a system that we've certainly improved (moving the calculation from weekly to daily) but still always disliked. It creates a very uninteresting and sometimes aggravating or confusing detachment from your achievements and the actual reward.
The reason for diminishing returns has always been to avoid the potential exploitation of the honor system. As the game has evolved, especially the honor and battleground systems, exploitation of the honor system now without diminishing returns would no longer be considered a lucrative alternative to simply participating in a battleground normally. We've also greatly improved our ability to monitor and track exploitation of this nature.
We've reached a point where we're now confident that applying diminishing returns to honor is no longer necessary, and we're currently planning to remove it with the 2.4 patch.
With this change we’re including a few restrictions as well though: Players that have the resurrection sickness debuff will not be worth any honor, and if a player dies 50 times or more during a battleground they won’t be worth any honor for the remainder of that battle.
What the removal of diminishing returns means for you is that as soon as you defeat an opponent that rewards you honor, you will receive that honor, and you will be able to spend it right then. There will no longer be an estimate, and you will no longer need to wait until the next day until you can actually spend it. Your achievements through honor-based PvP will be instantaneous.Originally Posted by Superior PvP Items for ReputationWe are tossing a little more into the mix with a change that is being implemented in patch 2.4. Players will be able to purchase level 70 Superior quality PvP gear off of reputation vendors.
We want both PvE and PvP to work together and this is just one way we think will help do that for those looking to better combine the two.Originally Posted by Void Crystal splitWell aren't you the little Nostradamus for the day.
You're pretty close, but it's actually going to be a part of Enchanting. Once every 24 hours, through Enchanting (not Alchemy) you'll be able to split a Void Crystal into two Large Prismatic Shards. This is through a new recipe that's being added in 2.4.
This helps reduce the exorbitant prices currently being seen for Large Prismatics, and helps raise the value of the Void Crystals. While this is the only change planned in 2.4 to help the Void Crystal prices, we're still looking at the possibility of additional 'help' for Void Crystal value in the future.Originally Posted by Fear Ward (Shadow Form)Maybe being able to use Fear Ward while in Shadow Form would help? Yeah, I like this idea, we'll roll with it in the next patch.Originally Posted by Conjured Manna BiscuitsI do know that in patch 2.4 players can only carry 80 of your delicious conjured manna biscuits at one time. As a result, you should experience less banquet-creating frustration. Sorry, the spell icon will remain the same and not look any more new or unique.Originally Posted by Fishing DailyI'm working on my first actual fishing character I must admit, I've never even had one to 300 even. I enjoy the experience quite a bit actually, and I'm playing collector with cooking recipes at the same time. I'm trying to find a good way to recast though, I've tried some of the mods that allow a right-click recast but it's not working for the setup I have.
Anyway, along the lines of fishing we're adding a new daily quest for fishing. Once 2.4 goes live (or once the PTRs are up) you'll want to visit "the mysterious old man" near Silmyr Lake outside of Shattrath. He's sure to offer treasures beyond your wildest dreams... or ramble on about how they had to color their own margarine during the war. Either/Or.Originally Posted by Upcoming Cooking RecipesIt sounds like you need either some Charred Bear Kabobs or Juicy Bear Burgers! oh so yummy mmmm...
Oh, right, details, they'll be purchasable from either Bale (Horde) or Malygen (Alliance) in Felwood in patch 2.4, they'll use meat added to level 48-56 bears, and they will require 250 skill to learn so you won't require fishing to get to 300 cooking.
well, that only took about 10 minutes, but hopefully you will enjoy reading about all the new, upcoming features in 2.4, from the mouths of blizzard posters themselves.