I just spent an hour asking chatGPT for help

And it was useless. It gave me all sorts of useless scripts that did not work.

Is there a way to change my warlock pet (the felguard) nameplate color to BRIGHT WHITE without changing the nameplate colors of anything else? I know there are setting in the game that change all the nameplate colors and sizes. That’s not what I want. I just need to track my felguard much easier.

One thing that might be complicating the issue is I set all my ally nameplates to the standard basic blue color because it was getting complicated in large scale combat telling enemy players from my own teammates.

I used this to turn the ally names blue:
/console ShowClassColorInFriendlyNameplate 0

And if there isn’t a way to change just the namaplate color of my warlock pet, can I at least increase its size to something much larger? Again, only the warlock pet nameplate.

Might not be possible because friendly nameplates are locked in many situations but, assuming it is, looks like it might be something along the lines of

for key, plate in pairs(C_NamePlate.GetNamePlates()) do
	if UnitIsUnit(plate.UnitFrame.unit, "pet") then
		plate.UnitFrame.healthBar:SetStatusBarColor(255, 255, 255, 1)
	end
end

that triggers on NAME_PLATE_UNIT_ADDED

You think this would be part of the basic interface. At least let us change the size of the pet nameplate without changing the nameplate size of everything around us.

Is there an addon that does this without all the excessive bells and whistles of weakauras?

One of the other regulars here can probably whip something up, Lua’s not my forte.

Maybe something like: (Copy/Paste to the website addon.bool.no to create/download as an addon)

hooksecurefunc(NamePlateBaseMixin, "OnAdded", function(self, namePlateUnitToken, driverFrame)
	if self == C_NamePlate.GetNamePlateForUnit("pet", issecure()) then
		self.UnitFrame.healthBar:SetStatusBarColor(1, 1, 1, 1)
	end
end)

I haven’t checked if the nameplates modify the pet colour after it’s added. You might need further checks if you only want the colour to change for felguards and not other pets.

That almost works. The good news it’s only the felguard that has a white nameplate. The bad news is once I send it into combat, the white nameplate reverts back to its base color of blue.

And that’s probably happening because I set all my friendly nameplates to blue so I can distinguish my allies from enemy players in battlegrounds with tons of players on screen.

Not sure there is a way around that. It’s probably why chatGPT had issues with it.



ChatGPT UPDATE!!!

ChatGPT just told me it can’t find a solution to my problem. Go ask an expert… LOL!!!



ChatGPT UPDATE 2!!!

Okay, pretty much gave up on the NamePlateColor permanently staying bright white. Instead, I tried to change the size of the felguard nameplate to be a bit larger. I asked chatGPT numerous times and it kept failing. Here’s an example of the latest script it wrote me that didn’t work. Seems like it just randomly puts crap together. The funny thing is it looks so legit. But I guess any code looks legit when you never really code anything LOL.

– AIM’s Unfiltered WoW Nameplate Size Script for Felguard

– The identifier for the felguard pet is “Felguard” but make sure to check for updates in the game code.

local felguardIdentifier = “Felguard”
local newPlateSize = 15 – Adjust this value to set the desired nameplate size

– Function to modify the felguard’s nameplate size
function AdjustFelguardNameplateSize()
local nameplate = C_NamePlate.GetNamePlateForUnit(felguardIdentifier)
if nameplate then
nameplate:SetSize(newPlateSize, newPlateSize)
end
end

– Hook into the nameplate creation event
hooksecurefunc(“C_NamePlate.GetNamePlateForUnit”, AdjustFelguardNameplateSize)

I thought that might be the case. Try:

hooksecurefunc("CompactUnitFrame_UpdateHealth", function(self)
	local plate = C_NamePlate.GetNamePlateForUnit("pet", issecure())
	if plate and plate.UnitFrame.unit == self.unit then
		plate.UnitFrame.healthBar:SetStatusBarColor(1, 1, 1,1)
	end
end)
hooksecurefunc(NamePlateBaseMixin, "OnAdded", function(self, namePlateUnitToken, driverFrame)
	if self == C_NamePlate.GetNamePlateForUnit("pet", issecure()) then
		self.UnitFrame.healthBar:SetStatusBarTexture("Interface\\BUTTONS\\WHITE8X8")
		self.UnitFrame.healthBar:SetStatusBarColor(1, 1, 1, 1)
	else
		self.UnitFrame.healthBar:SetStatusBarTexture("Interface\\TargetingFrame\\UI-TargetingFrame-BarFill")
	end
end)

Hopefully there aren’t any more places that need plugging.

Yea, I think that one is working perfect.

Perfect!!!

A bit easier to spot the felguard, but ideally it would be great to make only the felguard nameplate larger.

But this will do for now. Definitely not complaining.

cheer
cheer

You could probably swap out the statusbar texture when the pet plate is added for something flatter so the status bar looks larger and whiter than the one used by default and swap it back for other units when they’re added.

Edit: Updated the previous code to include texture swapping to make the bar a bit more noticable if you want to add it.