mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-20 01:24:18 +00:00
Add freezehammer/unfreezehammer for blocker
This commit is contained in:
parent
1cf7951f93
commit
eaeaf54250
|
@ -44,6 +44,9 @@ CONSOLE_COMMAND("muteid", "vi", CFGFLAG_SERVER, ConMuteID, this, "");
|
|||
CONSOLE_COMMAND("muteip", "si", CFGFLAG_SERVER, ConMuteIP, this, "");
|
||||
CONSOLE_COMMAND("unmute", "v", CFGFLAG_SERVER, ConUnmute, this, "");
|
||||
CONSOLE_COMMAND("mutes", "", CFGFLAG_SERVER, ConMutes, this, "");
|
||||
|
||||
CONSOLE_COMMAND("freezehammer", "v", CFGFLAG_SERVER, ConFreezeHammer, this, "Gives a player Freeze Hammer")
|
||||
CONSOLE_COMMAND("unfreezehammer", "v", CFGFLAG_SERVER, ConUnFreezeHammer, this, "Removes Freeze Hammer from a player")
|
||||
#undef CONSOLE_COMMAND
|
||||
|
||||
#endif
|
||||
|
|
|
@ -493,3 +493,39 @@ void CGameContext::ConList(IConsole::IResult *pResult, void *pUserData)
|
|||
else
|
||||
pSelf->List(ClientID, &zerochar);
|
||||
}
|
||||
|
||||
void CGameContext::ConFreezeHammer(IConsole::IResult *pResult, void *pUserData)
|
||||
{
|
||||
CGameContext *pSelf = (CGameContext *) pUserData;
|
||||
int Victim = pResult->GetVictim();
|
||||
|
||||
CCharacter* pChr = pSelf->GetPlayerChar(Victim);
|
||||
|
||||
if (!pChr)
|
||||
return;
|
||||
|
||||
char aBuf[128];
|
||||
str_format(aBuf, sizeof aBuf, "'%s' got freeze hammer!",
|
||||
pSelf->Server()->ClientName(Victim));
|
||||
pSelf->SendChat(-1, CHAT_ALL, aBuf);
|
||||
|
||||
pChr->m_FreezeHammer = true;
|
||||
}
|
||||
|
||||
void CGameContext::ConUnFreezeHammer(IConsole::IResult *pResult, void *pUserData)
|
||||
{
|
||||
CGameContext *pSelf = (CGameContext *) pUserData;
|
||||
int Victim = pResult->GetVictim();
|
||||
|
||||
CCharacter* pChr = pSelf->GetPlayerChar(Victim);
|
||||
|
||||
if (!pChr)
|
||||
return;
|
||||
|
||||
char aBuf[128];
|
||||
str_format(aBuf, sizeof aBuf, "'%s' lost freeze hammer!",
|
||||
pSelf->Server()->ClientName(Victim));
|
||||
pSelf->SendChat(-1, CHAT_ALL, aBuf);
|
||||
|
||||
pChr->m_FreezeHammer = false;
|
||||
}
|
||||
|
|
|
@ -429,6 +429,10 @@ void CCharacter::FireWeapon()
|
|||
pTarget->TakeDamage((vec2(0.f, -1.0f) + Temp) * Strength, g_pData->m_Weapons.m_Hammer.m_pBase->m_Damage,
|
||||
m_pPlayer->GetCID(), m_Core.m_ActiveWeapon);
|
||||
pTarget->UnFreeze();
|
||||
|
||||
if(m_FreezeHammer)
|
||||
pTarget->Freeze();
|
||||
|
||||
Hits++;
|
||||
}
|
||||
|
||||
|
@ -2039,6 +2043,7 @@ void CCharacter::DDRaceInit()
|
|||
m_SuperJump = false;
|
||||
m_Jetpack = false;
|
||||
m_Core.m_Jumps = 2;
|
||||
m_FreezeHammer = false;
|
||||
|
||||
int Team = Teams()->m_Core.Team(m_Core.m_Id);
|
||||
|
||||
|
|
|
@ -182,6 +182,7 @@ public:
|
|||
int m_FreezeTick;
|
||||
bool m_DeepFreeze;
|
||||
bool m_EndlessHook;
|
||||
bool m_FreezeHammer;
|
||||
enum
|
||||
{
|
||||
HIT_ALL=0,
|
||||
|
|
|
@ -296,6 +296,8 @@ private:
|
|||
static void ConMutes(IConsole::IResult *pResult, void *pUserData);
|
||||
|
||||
static void ConList(IConsole::IResult *pResult, void *pUserData);
|
||||
static void ConFreezeHammer(IConsole::IResult *pResult, void *pUserData);
|
||||
static void ConUnFreezeHammer(IConsole::IResult *pResult, void *pUserData);
|
||||
|
||||
enum
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue