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

Function MultiDoRequestPeerDamage

Descent3/multi.cpp:6304–6323  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6302}
6303
6304void MultiDoRequestPeerDamage(uint8_t *data, network_address *from_addr) {
6305 int count = 0;
6306
6307 if (Netgame.local_role != LR_SERVER)
6308 return;
6309
6310 SKIP_HEADER(data, &count);
6311
6312 int pnum = MultiGetByte(data, &count);
6313 uint16_t killer_objnum = MultiGetUshort(data, &count);
6314 uint8_t weapon_id = MultiGetUbyte(data, &count);
6315 uint8_t damage_type = MultiGetUbyte(data, &count);
6316 float amount = MultiGetFloat(data, &count);
6317
6318 if (killer_objnum == 65535 || Objects[killer_objnum].type == OBJ_NONE)
6319 ApplyDamageToPlayer(&Objects[Players[pnum].objnum], &Objects[Players[pnum].objnum], damage_type, amount, 1,
6320 weapon_id);
6321 else
6322 ApplyDamageToPlayer(&Objects[Players[pnum].objnum], &Objects[killer_objnum], damage_type, amount, 1, weapon_id);
6323}
6324
6325// Tell the server to damage us
6326void MultiSendRequestPeerDamage(object *killer, int weapon_id, int damage_type, float amount) {

Callers 1

MultiProcessDataFunction · 0.85

Calls 6

SKIP_HEADERFunction · 0.85
MultiGetByteFunction · 0.85
MultiGetUshortFunction · 0.85
MultiGetUbyteFunction · 0.85
MultiGetFloatFunction · 0.85
ApplyDamageToPlayerFunction · 0.85

Tested by

no test coverage detected