bool defuse = false, ent_has_defuser = false;
for (int i = 0; i <= 64; i++) {
C_BaseEntity* e = g_pEntityList->GetClientEntity(i);
if (!e || !e->IsAlive()) continue;
if (e->defusing())
defuse = true;
if (e->has_defuser())
ent_has_defuser = true;
}
for (int i = 0; i <= 2048; i++) {
C_BaseEntity* e = g_pEntityList->GetClientEntity(i);
if (!e) continue;
if (e->GetClientClass()->ClassId == EClassIds::CPlantedC4) {
ccsbomb* bomb = (ccsbomb*)e;
if (bomb) {
if (!c_config::get().bomb_timer || bomb->bomb_defused()) continue;
float c4_clock = bomb->c4_blow_time() - g_pGlobalVars->curtime;
char buf[24];
sprintf_s(buf, sizeof(buf) - 1, "Bomb Time: %.1f", c4_clock);
g_pSurface->draw_text(890 + 20, 90, Globals::menu_font2, c4_clock >= 0 ? buf : "Bomb Time: 0.0", false, Color(220, 220, 220));
g_pSurface->FilledRect(619 + 20, 109, 600, 12, Color(0, 0, 0, 180));
g_pSurface->FilledRect(620 + 20, 110, c4_clock * 15, 10, menurgba);
float c4_defuse = bomb->c4_defuse_count_down() - g_pGlobalVars->curtime;
char buff[24];
sprintf_s(buff, sizeof(buff) - 1, "Defuse Time: %.1f", c4_defuse);
if (Globals::local->defusing() || defuse) {
auto multi = 0;
if (Globals::local->has_defuser() || ent_has_defuser)
multi = 100;
else
multi = 60;
g_pSurface->draw_text(890 + 20, 135, Globals::menu_font2, c4_defuse >= 0 ? buff : "Defuse Time: 0.0", false, Color(220, 220, 220));
g_pSurface->FilledRect(619 + 20, 154, 600, 12, Color(0, 0, 0, 180));
g_pSurface->FilledRect(620 + 20, 155, c4_defuse * multi, 10, menurgba);
}
}
if (g_Menu.menuOpened)
Drop::DrawBackDrop();
g_Menu.Render();
}
}