if (IsFrozen()) {
if (((float)m_Freeze.m_Duration - (float)(Server()->Tick() - m_Freeze.m_ActivationTick - 1) / (float)Server()->TickSpeed()) < 3.f) {
Unfreeze(pPlayer->GetCID());
}
else {
m_Freeze.m_ActivationTick -= Server()->TickSpeed() * 3;
}
vec2 Dir;
if (length(m_Pos - pFrom->m_Pos) > 0.0f)
Dir = normalize(m_Pos - pFrom->m_Pos);
else
Dir = vec2(0.f, -1.f);
vec2 Push = vec2(0.f, -1.f) + normalize(Dir + vec2(0.f, -1.1f)) * 10.0f;
if (GameServer()->m_pController->IsTeamplay() && pFrom->GetPlayer() && m_pPlayer->GetTeam() == pFrom->GetPlayer()->GetTeam() && IsFrozen()) {
Push.x *= g_Config.m_SvMeltHammerScaleX*0.01f;
Push.y *= g_Config.m_SvMeltHammerScaleY*0.01f;
}
else {
Push.x *= g_Config.m_SvHammerScaleX*0.01f;
Push.y *= g_Config.m_SvHammerScaleY*0.01f;
}
m_Core.m_Vel += Push;
this creates the hammer push