MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / MultiSendPlayerDead

Function MultiSendPlayerDead

Descent3/multi.cpp:4738–4769  ·  view source on GitHub ↗

The server sends to everyone that the player is dead

Source from the content-addressed store, hash-verified

4736
4737// The server sends to everyone that the player is dead
4738void MultiSendPlayerDead(int slot, uint8_t fate) {
4739 MULTI_ASSERT(Netgame.local_role == LR_SERVER, "Client in SendPlayerDead!");
4740 uint8_t data[MAX_GAME_DATA_SIZE];
4741 int count = 0;
4742 int size_offset;
4743
4744 size_offset = START_DATA(MP_PLAYER_DEAD, data, &count, 1);
4745 MultiAddByte(slot, data, &count);
4746 MultiAddByte(fate, data, &count);
4747 END_DATA(count, data, size_offset);
4748
4749 MultiSendReliablyToAllExcept(Player_num, data, count, NETSEQ_PLAYERS);
4750 MultiDoPlayerDead(data);
4751 if (Game_is_master_tracker_game) {
4752 mprintf(0, "Adding kill and death to player stats. Killer = %d Killee = %d\n",
4753 Objects[Players[slot].killer_objnum].id,
4754 slot);
4755 if (Objects[Players[slot].killer_objnum].id == slot) {
4756 Players[slot].suicides++;
4757 } else {
4758 Players[Objects[Players[slot].killer_objnum].id].kills++;
4759 Players[slot].deaths++;
4760 }
4761 }
4762 if (Objects[Players[slot].killer_objnum].id == slot) {
4763 Multi_deaths[slot]++;
4764 } else {
4765 Multi_kills[Objects[Players[slot].killer_objnum].id]++;
4766 Multi_deaths[slot]++;
4767 }
4768 ScoreAPIPlayerKilled(Objects[Players[slot].killer_objnum].id, slot);
4769}
4770
4771// A player is coming back from the dead...restore his ship!
4772void MultiDoRenewPlayer(uint8_t *data) {

Callers 1

KillPlayerFunction · 0.85

Calls 6

START_DATAFunction · 0.85
MultiAddByteFunction · 0.85
END_DATAFunction · 0.85
MultiDoPlayerDeadFunction · 0.85
ScoreAPIPlayerKilledFunction · 0.85

Tested by

no test coverage detected