fix: handle low mana and missing mana gauge
This commit is contained in:
parent
8fb32e3202
commit
cea3113a2e
23
Plugin.cs
23
Plugin.cs
@ -281,9 +281,14 @@ public class Plugin : IDalamudPlugin {
|
||||
var right = (AtkTextNode*) unit.MPGaugeBar->GetTextNodeById(3);
|
||||
var chara = member.Object;
|
||||
|
||||
var hasLeft = left != null;
|
||||
var hasRight = right != null;
|
||||
var hasChara = chara != null;
|
||||
|
||||
if (!hasLeft) {
|
||||
return;
|
||||
}
|
||||
|
||||
left->TextColor = new ByteColor {
|
||||
RGBA = 0xFFFFFFFF,
|
||||
};
|
||||
@ -292,8 +297,13 @@ public class Plugin : IDalamudPlugin {
|
||||
? chara->Mana.ToString(CultureInfo.InvariantCulture)
|
||||
: "???";
|
||||
if (hasRight) {
|
||||
left->SetText(manaString[..^2]);
|
||||
right->SetText(manaString[^2..]);
|
||||
if (manaString.Length <= 1) {
|
||||
left->SetText("");
|
||||
right->SetText(manaString);
|
||||
} else {
|
||||
left->SetText(manaString[..^2]);
|
||||
right->SetText(manaString[^2..]);
|
||||
}
|
||||
} else {
|
||||
left->SetText(manaString);
|
||||
}
|
||||
@ -364,13 +374,16 @@ public class Plugin : IDalamudPlugin {
|
||||
if (this.Config.Mode == MeterMode.Mana) {
|
||||
var left = (AtkTextNode*) member.MPGaugeBar->GetTextNodeById(2);
|
||||
var right = (AtkTextNode*) member.MPGaugeBar->GetTextNodeById(3);
|
||||
var hasLeft = left != null;
|
||||
var hasRight = right != null;
|
||||
var hasChara = chara != null;
|
||||
|
||||
if (!hasLeft) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.Config.Alternate && !this._showDps) {
|
||||
var isCaster = hasChara
|
||||
? Array.IndexOf(this._manaUsers, chara->ClassJob) != -1
|
||||
: false;
|
||||
var isCaster = hasChara && Array.IndexOf(this._manaUsers, chara->ClassJob) != -1;
|
||||
if (!this.Config.ManaModeAlternateOnlyManaUsers || isCaster) {
|
||||
left->TextColor = new ByteColor {
|
||||
RGBA = 0xFFFFFFFF,
|
||||
|
Loading…
Reference in New Issue
Block a user