mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-21 01:54:19 +00:00
Weapon pickup Sound Spam Disabled
/Pause Fixed but disabled pause with ninja Signed-off-by: GreYFoXGTi <GreYFoXGTi@GMaiL.CoM>
This commit is contained in:
parent
03af9d75bc
commit
66750a3220
|
@ -510,13 +510,13 @@ bool CCharacter::GiveWeapon(int Weapon, int Ammo)
|
|||
|
||||
void CCharacter::GiveNinja()
|
||||
{
|
||||
if(!m_aWeapons[WEAPON_NINJA].m_Got)
|
||||
GameServer()->CreateSound(m_Pos, SOUND_PICKUP_NINJA);
|
||||
m_Ninja.m_ActivationTick = Server()->Tick();
|
||||
m_aWeapons[WEAPON_NINJA].m_Got = true;
|
||||
m_aWeapons[WEAPON_NINJA].m_Ammo = -1;
|
||||
m_LastWeapon = m_ActiveWeapon;
|
||||
m_ActiveWeapon = WEAPON_NINJA;
|
||||
|
||||
GameServer()->CreateSound(m_Pos, SOUND_PICKUP_NINJA);
|
||||
}
|
||||
|
||||
void CCharacter::SetEmote(int Emote, int Tick)
|
||||
|
@ -1012,7 +1012,13 @@ bool CCharacter::UnFreeze()
|
|||
m_Ninja.m_ActivationDir=vec2(0,0);
|
||||
m_Ninja.m_ActivationTick=0;
|
||||
m_Ninja.m_CurrentMoveTime=0;
|
||||
|
||||
for(int i=0;i<WEAPON_NINJA;i++)
|
||||
{
|
||||
if (m_aWeapons[i].m_Got)
|
||||
{
|
||||
m_aWeapons[i].m_Ammo = -1;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -76,6 +76,11 @@ void CPickup::Tick()
|
|||
pChr->m_aWeapons[i].m_Ammo = 0;
|
||||
sound = true;
|
||||
}
|
||||
if(pChr->m_FreezeTime)
|
||||
{
|
||||
pChr->m_aWeapons[WEAPON_GUN].m_Ammo = 0;
|
||||
pChr->m_aWeapons[WEAPON_HAMMER].m_Ammo =0;
|
||||
}
|
||||
}
|
||||
if (sound)
|
||||
{
|
||||
|
@ -87,7 +92,7 @@ void CPickup::Tick()
|
|||
|
||||
case POWERUP_WEAPON:
|
||||
|
||||
if(m_Subtype >= 0 && m_Subtype < NUM_WEAPONS)
|
||||
if(m_Subtype >= 0 && m_Subtype < NUM_WEAPONS && (!pChr->m_aWeapons[m_Subtype].m_Got || pChr->m_aWeapons[m_Subtype].m_Ammo != -1))
|
||||
{
|
||||
if(pChr->GiveWeapon(m_Subtype, -1))
|
||||
{
|
||||
|
|
|
@ -652,7 +652,7 @@ void CGameContext::OnMessage(int MsgId, CUnpacker *pUnpacker, int ClientId)
|
|||
{
|
||||
CCharacter* chr = p->GetCharacter();
|
||||
|
||||
if(!p->GetTeam())
|
||||
if(!p->GetTeam() && (!chr->m_aWeapons[WEAPON_NINJA].m_Got || chr->m_FreezeTime))
|
||||
{
|
||||
p->SaveCharacter();
|
||||
p->SetTeam(-1);
|
||||
|
@ -663,6 +663,8 @@ void CGameContext::OnMessage(int MsgId, CUnpacker *pUnpacker, int ClientId)
|
|||
p->SetTeam(0);
|
||||
//p->LoadCharacter();//TODO:Check if this system Works
|
||||
}
|
||||
else
|
||||
SendChatTarget(ClientId, "You are not allowed to pause with ninja");
|
||||
|
||||
//if(chr->m_RaceState==RACE_STARTED)
|
||||
// chr->m_RaceState = RACE_PAUSE;
|
||||
|
|
|
@ -236,16 +236,50 @@ void CPlayer::LoadCharacter() {
|
|||
Character->GiveWeapon(i, -1);
|
||||
}
|
||||
}
|
||||
Character->m_FreezeTime = m_PauseInfo.m_FreezeTime;
|
||||
Character->m_Doored = m_PauseInfo.m_Doored;
|
||||
Character->m_OldPos = m_PauseInfo.m_OldPos;
|
||||
Character->m_OlderPos = m_PauseInfo.m_OlderPos;
|
||||
Character->m_LastAction = m_PauseInfo.m_LastAction;
|
||||
Character->m_Jumped = m_PauseInfo.m_Jumped;
|
||||
Character->m_Health = m_PauseInfo.m_Health;
|
||||
Character->m_Armor = m_PauseInfo.m_Armor;
|
||||
Character->m_PlayerState = m_PauseInfo.m_PlayerState;
|
||||
Character->m_LastMove = m_PauseInfo.m_LastMove;
|
||||
Character->m_LastSpeedup = m_PauseInfo.m_LastSpeedup;
|
||||
Character->m_PrevPos = m_PauseInfo.m_PrevPos;
|
||||
Character->m_ActiveWeapon = m_PauseInfo.m_ActiveWeapon;
|
||||
Character->m_LastWeapon = m_PauseInfo.m_LastWeapon;
|
||||
Character->m_HammerType = m_PauseInfo.m_HammerType;
|
||||
Character->m_Super = m_PauseInfo.m_Super;
|
||||
m_PauseInfo.m_Respawn = false;
|
||||
}
|
||||
|
||||
void CPlayer::SaveCharacter() {
|
||||
void CPlayer::SaveCharacter()
|
||||
{
|
||||
m_PauseInfo.m_Core = Character->m_Core;
|
||||
m_PauseInfo.m_StartTime = Character->m_StartTime;
|
||||
m_PauseInfo.m_RaceState = Character->m_RaceState;
|
||||
for(int i = 0; i < NUM_WEAPONS; ++i) {
|
||||
for(int i = 0; i < WEAPON_NINJA; ++i)
|
||||
{
|
||||
m_PauseInfo.m_aHasWeapon[i] = Character->m_aWeapons[i].m_Got;
|
||||
}
|
||||
m_PauseInfo.m_FreezeTime=Character->m_FreezeTime;
|
||||
m_PauseInfo.m_Doored = Character->m_Doored;
|
||||
m_PauseInfo.m_OldPos = Character->m_OldPos;
|
||||
m_PauseInfo.m_OlderPos = Character->m_OlderPos;
|
||||
m_PauseInfo.m_LastAction = Character->m_LastAction;
|
||||
m_PauseInfo.m_Jumped = Character->m_Jumped;
|
||||
m_PauseInfo.m_Health = Character->m_Health;
|
||||
m_PauseInfo.m_Armor = Character->m_Armor;
|
||||
m_PauseInfo.m_PlayerState = Character->m_PlayerState;
|
||||
m_PauseInfo.m_LastMove = Character->m_LastMove;
|
||||
m_PauseInfo.m_LastSpeedup = Character->m_LastSpeedup;
|
||||
m_PauseInfo.m_PrevPos = Character->m_PrevPos;
|
||||
m_PauseInfo.m_ActiveWeapon = Character->m_ActiveWeapon;
|
||||
m_PauseInfo.m_LastWeapon = Character->m_LastWeapon;
|
||||
m_PauseInfo.m_HammerType = Character->m_HammerType;
|
||||
m_PauseInfo.m_Super = Character->m_Super;
|
||||
//m_PauseInfo.m_RefreshTime = Character->m_RefreshTime;
|
||||
}
|
||||
|
||||
|
|
|
@ -38,8 +38,24 @@ public:
|
|||
int m_StartTime;
|
||||
int m_RaceState;
|
||||
//int m_RefreshTime;
|
||||
int m_FreezeTime;
|
||||
bool m_Doored;
|
||||
vec2 m_OldPos;
|
||||
vec2 m_OlderPos;
|
||||
int m_LastAction;
|
||||
int m_Jumped;
|
||||
int m_Health;
|
||||
int m_Armor;
|
||||
int m_PlayerState;
|
||||
int m_LastMove;
|
||||
int m_LastSpeedup;
|
||||
vec2 m_PrevPos;
|
||||
int m_ActiveWeapon;
|
||||
int m_LastWeapon;
|
||||
bool m_Respawn;
|
||||
bool m_aHasWeapon[NUM_WEAPONS];
|
||||
int m_HammerType;
|
||||
bool m_Super;
|
||||
} m_PauseInfo;
|
||||
void LoadCharacter();
|
||||
void SaveCharacter();
|
||||
|
|
Loading…
Reference in a new issue