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