[BossHP] Add boss health percentage display
This commit is contained in:
parent
d2a812153b
commit
ba1da9afa2
@ -1314,6 +1314,7 @@ bool BossProcess(CBoss _Boss)
|
|||||||
bool bInvalid = false;
|
bool bInvalid = false;
|
||||||
int iHealth = 0;
|
int iHealth = 0;
|
||||||
int iLastHealth = _Boss.iHealth;
|
int iLastHealth = _Boss.iHealth;
|
||||||
|
int iMaxHealth = _Boss.iMaxHealth;
|
||||||
int iLastChange = _Boss.iLastChange;
|
int iLastChange = _Boss.iLastChange;
|
||||||
|
|
||||||
if(_Boss.IsBreakable)
|
if(_Boss.IsBreakable)
|
||||||
@ -1396,6 +1397,12 @@ bool BossProcess(CBoss _Boss)
|
|||||||
if(iHealth < 0)
|
if(iHealth < 0)
|
||||||
iHealth = 0;
|
iHealth = 0;
|
||||||
|
|
||||||
|
if(iMaxHealth < iHealth)
|
||||||
|
{
|
||||||
|
iMaxHealth = iHealth;
|
||||||
|
_Boss.iMaxHealth = iHealth;
|
||||||
|
}
|
||||||
|
|
||||||
if(iHealth != iLastHealth)
|
if(iHealth != iLastHealth)
|
||||||
{
|
{
|
||||||
iLastChange = GetTime();
|
iLastChange = GetTime();
|
||||||
@ -1440,6 +1447,15 @@ bool BossProcess(CBoss _Boss)
|
|||||||
sFormat[FormatLen++] = ' ';
|
sFormat[FormatLen++] = ' ';
|
||||||
|
|
||||||
FormatLen += IntToString(iHealth, sFormat[FormatLen], sizeof(sFormat) - FormatLen);
|
FormatLen += IntToString(iHealth, sFormat[FormatLen], sizeof(sFormat) - FormatLen);
|
||||||
|
|
||||||
|
sFormat[FormatLen++] = ' ';
|
||||||
|
sFormat[FormatLen++] = '[';
|
||||||
|
|
||||||
|
FormatLen += IntToString(RoundToNearest(float(iHealth) / float(iMaxHealth) * 100), sFormat[FormatLen], sizeof(sFormat) - FormatLen);
|
||||||
|
|
||||||
|
FormatLen += StrCat(sFormat[FormatLen], sizeof(sFormat) - FormatLen, "%%%%"); // No idea why this needs 4 percents, but it works.
|
||||||
|
|
||||||
|
sFormat[FormatLen++] = ']';
|
||||||
sFormat[FormatLen] = 0;
|
sFormat[FormatLen] = 0;
|
||||||
|
|
||||||
StrCat(g_sHUDText, sizeof(g_sHUDText), sFormat);
|
StrCat(g_sHUDText, sizeof(g_sHUDText), sFormat);
|
||||||
|
@ -15,6 +15,7 @@ methodmap CBoss < Basic
|
|||||||
myclass.SetBool("bShow", true);
|
myclass.SetBool("bShow", true);
|
||||||
myclass.SetInt("iTemplateNum", -1);
|
myclass.SetInt("iTemplateNum", -1);
|
||||||
myclass.SetInt("iHealth", 0);
|
myclass.SetInt("iHealth", 0);
|
||||||
|
myclass.SetInt("iMaxHealth", 0);
|
||||||
myclass.SetInt("iLastChange", 0);
|
myclass.SetInt("iLastChange", 0);
|
||||||
myclass.SetFloat("fWaitUntil", 0.0);
|
myclass.SetFloat("fWaitUntil", 0.0);
|
||||||
myclass.SetFloat("fShowAt", 0.0);
|
myclass.SetFloat("fShowAt", 0.0);
|
||||||
@ -95,6 +96,18 @@ methodmap CBoss < Basic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
property int iMaxHealth
|
||||||
|
{
|
||||||
|
public get()
|
||||||
|
{
|
||||||
|
return this.GetInt("iMaxHealth");
|
||||||
|
}
|
||||||
|
public set(int value)
|
||||||
|
{
|
||||||
|
this.SetInt("iMaxHealth", value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
property int iLastChange
|
property int iLastChange
|
||||||
{
|
{
|
||||||
public get()
|
public get()
|
||||||
|
Loading…
Reference in New Issue
Block a user