X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_player.pas;h=da4c43a84e12561afef525e41c84ce7eb8e04d4a;hb=fbedc3eec9e72225010d043d2be17b44cf13941e;hp=4d87ded9c0e2f69978cb5a35c296e3b8c9cffbab;hpb=dae5714e18d9846dc09f7b2bcd4ec1bc53de2f35;p=d2df-sdl.git diff --git a/src/game/g_player.pas b/src/game/g_player.pas index 4d87ded..da4c43a 100644 --- a/src/game/g_player.pas +++ b/src/game/g_player.pas @@ -102,6 +102,7 @@ const type TPlayerStat = record + Num: Integer; Ping: Word; Loss: Byte; Name: String; @@ -262,6 +263,7 @@ type FClientID: SmallInt; FPing: Word; FLoss: Byte; + FReady: Boolean; FDummy: Boolean; FFireTime: Integer; @@ -592,6 +594,7 @@ procedure g_Player_DrawShells(); procedure g_Player_RemoveAllCorpses(); procedure g_Player_Corpses_SaveState (st: TStream); procedure g_Player_Corpses_LoadState (st: TStream); +procedure g_Player_ResetReady(); procedure g_Bot_Add(Team, Difficult: Byte); procedure g_Bot_AddList(Team: Byte; lname: ShortString; num: Integer = -1); procedure g_Bot_MixNames(); @@ -1471,6 +1474,7 @@ begin SetLength(Result, Length(Result)+1); with Result[High(Result)] do begin + Num := a; Ping := gPlayers[a].FPing; Loss := gPlayers[a].FLoss; Name := gPlayers[a].FName; @@ -1485,6 +1489,22 @@ begin end; end; +procedure g_Player_ResetReady(); +var + a: Integer; +begin + if not g_Game_IsServer then Exit; + if gPlayers = nil then Exit; + + for a := 0 to High(gPlayers) do + if gPlayers[a] <> nil then + begin + gPlayers[a].FReady := False; + if g_Game_IsNet then + MH_SEND_GameEvent(NET_EV_INTER_READY, gPlayers[a].UID, 'N'); + end; +end; + procedure g_Player_RememberAll; var i: Integer; @@ -4266,6 +4286,7 @@ begin FMonsterKills := 0; FDeath := 0; FSecrets := 0; + FReady := False; if FNoRespawn then begin FSpectator := False; @@ -5788,6 +5809,11 @@ end; procedure TPlayer.GetSecret(); begin + if (self = gPlayer1) or (self = gPlayer2) then + begin + g_Console_Add(Format(_lc[I_PLAYER_SECRET], [FName]), True); + g_Sound_PlayEx('SOUND_GAME_SECRET'); + end; Inc(FSecrets); end;