//HealthBar 100%
void RenderMonsterHP()
{
float Width = 38.f;
char Text[100];
for (int j = 0; j < MAX_CHARACTERS_CLIENT; ++j)
{
CHARACTER* c = &CharactersClient[j];
OBJECT* o = &c->Object;
vec3_t Position;
int ScreenX, ScreenY;
if (KIND_MONSTER == c->Object.Kind && MODEL_PLAYER != c->Object.Type && c->Object.Kind != KIND_TRAP)
{
BYTE LifePercent = 80;
Vector(o->Position[0], o->Position[1], o->Position[2] + o->BoundingBoxMax[2] + 100.f, Position);
Projection(Position, &ScreenX, &ScreenY);
ScreenX -= (int)(Width / 2);
if (o->Live && KIND_NPC != c->Object.Kind)
{
NEW_HEALTH_BAR* lpNewHealthBar = GetNewHealthBar(c->Key, c->Object.Kind);
if (lpNewHealthBar == NULL)continue;
int LifePercent = lpNewHealthBar->rate ;
int ShieldPercent = lpNewHealthBar->rate2 ;
float iHP = (float)(LifePercent * 72) / 100;
SEASON3B::RenderImage(BITMAP_MONSTER_HPBAR_BACK, ScreenX, ScreenY - 5, 75.f, 5.f);
if(c->Dead != 0)
{
iHP -= c->Dead;
if (iHP <= 0)
{
iHP = 0;
}
}
SEASON3B::RenderImage(BITMAP_MONSTER_HPBAR, ScreenX + 2, ScreenY - 4, iHP, 3.f);
g_pRenderText->SetFont(g_hFont);
if (c->Dead != 0)
{
sprintf(Text, "%s die...", c->ID);
}
else
{
sprintf(Text, "%s", c->ID);
}
g_pRenderText->SetTextColor(255, 230, 210, 255);
g_pRenderText->RenderText(ScreenX, ScreenY - 13, Text, 75.f, 0, RT3_SORT_CENTER);
}
}
}
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
DisableAlphaBlend();
glColor3f(1.f, 1.f, 1.f);
}
