Here are a few of my more complex DogTags as used in PitBull.
Party Health
Loosely based on Grid. Class-colored name if alive and at full health, otherwise class colored health deficit if alive, otherwise gray Dead/Ghost/Offline text.
Target/Focus Name
Name in gray if dead or offline. Player name in class color, with one-letter druid form and AFK/DND tag. Pet name in owner's class color (guess based on creature type). Mob name in reaction color.
[if Status then
Color("aaaaaa") Name
else
(if IsPlayer then
ClassColor Name DruidForm:Truncate(1, false):Angle (if AFK then
AFK:Angle:ClassColor
elseif DND then
DND:Angle:ClassColor
end)
elseif IsPet then
(if (CreatureType = "Beast") then
Color("abd473") Name Owner:Paren
elseif (CreatureType = "Demon") then
Color("9482ca") Name Owner:Paren
elseif ((CreatureType = "Humanoid") or (Name = "Shadowfiend")) then
Color("ffffff") Name Owner:Paren
elseif Name:Contains("Totem") then
Color("00ddba") Name Owner:Paren
else
Color("eeeeff") Name
end)
else
Name:HostileColor
end)
end]
Target/Focus Class
Level in blue-gray for friendly players and pets. Level in difficulty color for hostile players and pets, and all NPCs. Hidden for non-combat pets, critters, and bosses.
Colorized one-letter classification -- red B for bosses, silver R for rares, gold E for elites.
NPC creature type. Hidden for non-combat pets, unspecified (silithids, for example), or unknown (players in the middle of loading screens, for example).
[(if (IsFriend and (IsPlayer or (IsPet and (CreatureType ~= "Non-combat Pet")))) then
Level:Hide(70):Color("6666ff")
elseif (IsPlayer or (IsPet and (CreatureType ~= "Non-combat Pet")) or ((Classification ~= "Boss") and (Creature ~= "Critter") and (CreatureType ~= "Non-combat Pet"))) then
Level:DifficultyColor
end) (if (Classification = "Boss") then
Color("B", "ff6666")
else
((if Classification:Contains("Rare") then
Color("R", "cccccc")
end) (if Classification:Contains("Elite") then
Color("E", "ffcc00")
end))
end) (if (not IsPlayer) then
CreatureType:Hide("Not specified"):Hide("Non-combat Pet"):Hide("Unknown"):Truncate(2, false)
end)]
Target/Focus Health
Show status and max HP (if known) in gray if the unit is dead or offline.
Otherwise, if HP is known, show current HP, and missing HP for friendly units or percent HP for hostile units.
Otherwise, show percent HP.
[if Status then
(Color("aaaaaa") Status (if (not IsPlayerOrPet and HP(known=true)) then
" " MaxHP:Short:Paren
end))
elseif HP(known=true) then
(HP:Short " " (if IsFriend then
MissingHP:Hide(0):Short:Prepend("- "):Color("ff7f7f")
else
PercentHP:Hide(100):Floor:Percent:Paren
end))
else
PercentHP:Hide(100):Floor:Percent
end]
Target/Focus Power
If the unit is dead or offline, and uses mana, show the max mana in gray.
If the unit uses mana, show the max mana in medium blue, and current mana (if less than max) in light blue.
If the unit uses rage, show the current rage (if not zero) in light red.
If the unit uses energy or focus, show the current energy/focus (if less than max) in light yellow.
[if IsPlayer then
(if Status then
(if IsMana then
MaxMP:Color("cccccc")
end)
else
(if IsMana then
(if MP = MaxMP then
MP:Color("00ccff")
else
MP:Hide(0):Color("00ccff") Color(" || " MaxMP, "006699")
end)
else
(if IsRage then
MP:Hide(0):Color("ff3333")
else
(if MP ~= MaxMP then
MP:Color("ffff33")
end)
end)
end)
end)
else
(if (IsMana and not Status) then
PercentMP:Hide(0):Hide(100):Floor:Percent:Color("00ccff")
end)
end]
Of course I do. They're much simpler, though, which is why I didn't post them in my last post. :)
Player/Party Name:
Simple class-colored "AFK" (without time) or "DND".
[ClassColor (AFK ? "AFK" ! DND)]
Player Health:
Same as party health, except doesn't show my name if I'm alive and at full health, just gray Dead/Ghost or class-colored health deficit.
Pet Power:
Same as player power, but simplified to reflect that there are no rage-using pets.
[~Status ? MP:Hide(MaxMP):PowerColor]
WTB PetOwnerClassColor tag! It's not so bad for the pet frame, because I can just use my own class color... but it gets more complicated for party pets, and even worse for target/focus/ToT units that are pets. It's also, unfortunately, impossible to color pet health bars by their owner's class. :(
I will start slowly to post my tags and will edit this post to complete it before messing up with yours Phanx.
My tags are more generic, i don't have a different tag for health in every single frames.
Oh and if someone want to use them, whenever u see " - " replace with "space,alt+0149,space" as this forum transform all ascii codes to a " ? "
Health:
[(if Status then
Status:StatusColor
elseif ~Status and MaxHP(known=true) then
HP:Color("8C919B")
end) (if ~Status and IsMaxHP then
PercentHP:Hide(PercentHP)
elseif ~Status and MaxHP(known=true) then
PercentHP:Percent:Color("8C919B"):Prepend(" - "):Color("8C919B")
end)]
Name:
[(if Status then
Name:StatusColor
else
[if IsPlayer then
Name:ClassColor
else
[if IsPet then
[if IsFriend then
Name:HappyColor
end]
else
Name:HostileColor
end]
end]
end) (if ~Status and [Class(unit="player") = "Druid" or Class(unit="player") = "Mage"] and IsPlayer and IsFriend and HasCurseDebuff then
" - ":Color("9900FF")
end) (if ~Status and [Class(unit="player") = "Druid" or Class(unit="player") = "Paladin" or Class(unit="player") = "Shaman"] and IsPlayer and IsFriend and HasPoisonDebuff then
" - ":Color("009900")
end) (if ~Status and [Class(unit="player") = "Paladin" or Class(unit="player") = "Priest" or Class(unit="player") = "Shaman"] and IsPlayer and IsFriend and HasDiseaseDebuff then
" - ":Color("996600")
end) (if ~Status and [Class(unit="player") = "Paladin" or Class(unit="player") = "Priest"] and IsPlayer and IsFriend and HasMagicDebuff then
" - ":Color("3399FF")
end)]
Power:
[(if ~Status and IsMana then
[if IsMaxMP then
MaxMP:Color("5073A0")
else
MP:Color("5073A0")
end]
end) (if ~Status then
[if IsMana then
[if IsMaxMP then
PercentMP:Hide(PercentMP)
else
PercentMP:Percent:Color("5073A0"):Prepend(" - "):Color("5073A0")
end]
else
[if IsRage then
MP:Hide(0):Color("AF5050")
else
[if IsFocus then
MP:Hide(MaxMP):Color("B46E46")
else
MP:Hide(MaxMP):Color("A5A05A")
end]
end]
end]
end)]
Quick question for all you dogtag sequence geniuses here: Currently it seems there is support for testing for if someone is the master looter for a raid, and for displaying the master looter icon, yet you can only test if someone is the raid/party leader - not display the icon for it. Basically I'd like on my tooltips (in cowtip of course) to have the ML and leader icons after their names if applicable. So far the ML is easy, but there is no easy way to do the leader icon (at least that i can find). Now there is the Icon tag... but i don't know the path to the leader icon to be able to pull it out. Any ideas/solutions on this one?
Quick question for all you dogtag sequence geniuses here: Currently it seems there is support for testing for if someone is the master looter for a raid, and for displaying the master looter icon, yet you can only test if someone is the raid/party leader - not display the icon for it. Basically I'd like on my tooltips (in cowtip of course) to have the ML and leader icons after their names if applicable. So far the ML is easy, but there is no easy way to do the leader icon (at least that i can find). Now there is the Icon tag... but i don't know the path to the leader icon to be able to pull it out. Any ideas/solutions on this one?
I think I found the leader icon path from another mod:
Try this. It should only show for players and only if they have a guild.
[Guild?isPlayer?(Guild=Guild("player")?Guild:Color("0076EC")!Guild:Green)]
Is there a way to do this same thing, but also name a specific guild, like 'Forgotten Soldiers' to show up in red. Maybe something thats helpful for KoS guilds.
Also in PitBull, how would I make it so that exp and rep is blank until I mouse over it, then it shows the rep name (rep), fractional value, percent value, then rest value (exp)?
Is there a way to do this same thing, but also name a specific guild, like 'Forgotten Soldiers' to show up in red. Maybe something thats helpful for KoS guilds.
Also in PitBull, how would I make it so that exp and rep is blank until I mouse over it, then it shows the rep name (rep), fractional value, percent value, then rest value (exp)?
Thanks in advance.
For your guild question:
[Guild?isPlayer?(Guild=Guild("player")?Guild:Color("0076EC")!(Guild="Forgotten Soldiers"?Guild:Red!Guild:Green))]
For the mouseover:
[IsMouseOver?(ReputationName Reputation:Paren ", " FractionalXP " " PercentXP " " RestXP)]
Where are you seeing this feature in Cartographer? What you describe is not possible unless you know the exact position of the player or NPC; for players, this would be accomplished by both players running some addon that broadcast their position over the addon comm channel. For NPCs, you would need either a premade database of NPC positions, or you would need to stand on the NPC and mark its position prior to moving away and getting a distance.
None of these functions are in any way related to functions provided by Ace2; they are far beyond the scope of an addon development framework.
I've been having a lot of fun playing with the dog tags and thought I would share what I came up with for Player or target health, will work as any unit health really. I made it where if you are at full HP, it will display your hp as absolute (ex. 9472). If you are at anything other than full hp, it will simply display as a percentage only (ex. 52%). I did this because I don't like the clutter of having absolute and percent.
[(if Status then
Status:StatusColor
elseif ~Status and not IsMaxHP then
HP:Hide(HP)
elseif ~Status and MaxHP then
HP:ClassColor
end) (if ~Status and IsMaxHP then
PercentHP:Hide(PercentHP)
elseif ~Status and not IsMaxHP then
PercentHP:Truncate(3, nil):Percent:ClassColor
end)]
I've been having a lot of fun playing with the dog tags and thought I would share what I came up with for Player or target health, will work as any unit health really. I made it where if you are at full HP, it will display your hp as absolute (ex. 9472). If you are at anything other than full hp, it will simply display as a percentage only (ex. 52%). I did this because I don't like the clutter of having absolute and percent.
[(if Status then
Status:StatusColor
elseif ~Status and not IsMaxHP then
HP:Hide(HP)
elseif ~Status and MaxHP then
HP:ClassColor
end) (if ~Status and IsMaxHP then
PercentHP:Hide(PercentHP)
elseif ~Status and not IsMaxHP then
PercentHP:Truncate(3, nil):Percent:ClassColor
end)]
You have some tags that will never show anything.
HP:Hide(HP) and PercentHP:Hide(PercentHP) will never show anything since you're telling them to hide any value of HP. To test it plugin any value as your HP. Say 1000. Then the tags look like this: 1000:Hide(1000) etc...
A lot of people seem to use
[if Status then Status else (...)]
This can be simplified to just: [Status or (...)]
Your tag sequence can be simplified to just:
[Status:StatusColor or (
If IsMaxHP then
HP:ClassColor
else
PercentHP:Percent:ClassColor
) ]
You might be able to simplify it even more by:
[Status:StatusColor or (
If IsMaxHP then
HP
else
PercentHP
):ClassColor ]
For your guild question:
[Guild?isPlayer?(Guild=Guild("player")?Guild:Color("0076EC")!(Guild="Forgotten Soldiers"?Guild:Red!Guild:Green))]
For the mouseover:
[IsMouseOver?(ReputationName Reputation:Paren ", " FractionalXP " " PercentXP " " RestXP)]
Works like a charm, thank you. Although I meant to make xp and rep seperate, but I kinda screwed that question up. I figured it out though with some tweaking, no easy task for someone like me. Thanks.
I was wondering : It is possible to know how much debuffs you have on a target with DogTag ( [NumDebuffs] ).
But when it comes down to stackable raid debuffs, it seems that multiple stacks of the same debuff are considered as only one debuff.
For example, I would like to know how much arcane buffet debuff stacks are on a specific player during the Kalecgos encounter. Is it possible to get such information with the use of DogTags?
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Party Health
Loosely based on Grid. Class-colored name if alive and at full health, otherwise class colored health deficit if alive, otherwise gray Dead/Ghost/Offline text.
Target/Focus Name
Name in gray if dead or offline. Player name in class color, with one-letter druid form and AFK/DND tag. Pet name in owner's class color (guess based on creature type). Mob name in reaction color.
Target/Focus Class
Target/Focus Health
Target/Focus Power
Player/Party Name:
Simple class-colored "AFK" (without time) or "DND".
Player Health:
Same as party health, except doesn't show my name if I'm alive and at full health, just gray Dead/Ghost or class-colored health deficit.
Player Power:
Power-colored mana/energy if less than max, rage if greater than zero. Only shown if I'm alive.
Pet Health:
Same as player health, with the addition of a "unit=player" specification on the class coloring.
Pet Power:
Same as player power, but simplified to reflect that there are no rage-using pets.
WTB PetOwnerClassColor tag! It's not so bad for the pet frame, because I can just use my own class color... but it gets more complicated for party pets, and even worse for target/focus/ToT units that are pets. It's also, unfortunately, impossible to color pet health bars by their owner's class. :(
My tags are more generic, i don't have a different tag for health in every single frames.
Oh and if someone want to use them, whenever u see " - " replace with "space,alt+0149,space" as this forum transform all ascii codes to a " ? "
Health:
Name:
Power:
I think I found the leader icon path from another mod:
[isLeader? "Interface\GroupFrame\UI-Group-LeaderIcon.blp":Icon(10)]
Is there a way to do this same thing, but also name a specific guild, like 'Forgotten Soldiers' to show up in red. Maybe something thats helpful for KoS guilds.
Also in PitBull, how would I make it so that exp and rep is blank until I mouse over it, then it shows the rep name (rep), fractional value, percent value, then rest value (exp)?
Thanks in advance.
For your guild question:
[Guild?isPlayer?(Guild=Guild("player")?Guild:Color("0076EC")!(Guild="Forgotten Soldiers"?Guild:Red!Guild:Green))]
For the mouseover:
[IsMouseOver?(ReputationName Reputation:Paren ", " FractionalXP " " PercentXP " " RestXP)]
Is that basic functionality in Ace 2?
Can I put the distance to target in the target frame in PitBull?
None of these functions are in any way related to functions provided by Ace2; they are far beyond the scope of an addon development framework.
Gotcha.
You have some tags that will never show anything.
HP:Hide(HP) and PercentHP:Hide(PercentHP) will never show anything since you're telling them to hide any value of HP. To test it plugin any value as your HP. Say 1000. Then the tags look like this: 1000:Hide(1000) etc...
A lot of people seem to use
[if Status then Status else (...)]
This can be simplified to just: [Status or (...)]
Your tag sequence can be simplified to just:
Works like a charm, thank you. Although I meant to make xp and rep seperate, but I kinda screwed that question up. I figured it out though with some tweaking, no easy task for someone like me. Thanks.
I would like it to change just like a PitBull health bar with the aggro indicator turned on.
But when it comes down to stackable raid debuffs, it seems that multiple stacks of the same debuff are considered as only one debuff.
For example, I would like to know how much arcane buffet debuff stacks are on a specific player during the Kalecgos encounter. Is it possible to get such information with the use of DogTags?