mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2024-11-22 13:30:06 +00:00
Use the right packet for when a player falls out of the world
SUDDEN_DEAD is more appropriate than goo damage for this. Also made it so other players can see when someone does a /health 0, for comedic effect.
This commit is contained in:
parent
f5a34b9a3d
commit
89eb0b140b
@ -1002,8 +1002,16 @@ void MobManager::playerTick(CNServer *serv, time_t currTime) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check if the player has fallen out of the world
|
// check if the player has fallen out of the world
|
||||||
if (plr->z < -30000)
|
if (plr->z < -30000) {
|
||||||
dealGooDamage(sock, PC_MAXHEALTH(36) * 2);
|
INITSTRUCT(sP_FE2CL_PC_SUDDEN_DEAD, dead);
|
||||||
|
|
||||||
|
dead.iPC_ID = plr->iID;
|
||||||
|
dead.iDamage = plr->HP;
|
||||||
|
dead.iHP = plr->HP = 0;
|
||||||
|
|
||||||
|
sock->sendPacket((void*)&dead, P_FE2CL_PC_SUDDEN_DEAD, sizeof(sP_FE2CL_PC_SUDDEN_DEAD));
|
||||||
|
PlayerManager::sendToViewable(sock, (void*)&dead, P_FE2CL_PC_SUDDEN_DEAD, sizeof(sP_FE2CL_PC_SUDDEN_DEAD));
|
||||||
|
}
|
||||||
|
|
||||||
if (transmit) {
|
if (transmit) {
|
||||||
INITSTRUCT(sP_FE2CL_REP_PC_TICK, pkt);
|
INITSTRUCT(sP_FE2CL_REP_PC_TICK, pkt);
|
||||||
|
@ -733,8 +733,6 @@ void PlayerManager::setValuePlayer(CNSocket* sock, CNPacketData* data) {
|
|||||||
case 5:
|
case 5:
|
||||||
plr->money = setData->iSetValue;
|
plr->money = setData->iSetValue;
|
||||||
break;
|
break;
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
response.iPC_ID = setData->iPC_ID;
|
response.iPC_ID = setData->iPC_ID;
|
||||||
@ -742,6 +740,17 @@ void PlayerManager::setValuePlayer(CNSocket* sock, CNPacketData* data) {
|
|||||||
response.iSetValueType = setData->iSetValueType;
|
response.iSetValueType = setData->iSetValueType;
|
||||||
|
|
||||||
sock->sendPacket((void*)&response, P_FE2CL_GM_REP_PC_SET_VALUE, sizeof(sP_FE2CL_GM_REP_PC_SET_VALUE));
|
sock->sendPacket((void*)&response, P_FE2CL_GM_REP_PC_SET_VALUE, sizeof(sP_FE2CL_GM_REP_PC_SET_VALUE));
|
||||||
|
|
||||||
|
// if one lowers their own health to 0, make sure others can see it
|
||||||
|
if (plr->HP <= 0) {
|
||||||
|
INITSTRUCT(sP_FE2CL_PC_SUDDEN_DEAD, dead);
|
||||||
|
|
||||||
|
dead.iPC_ID = plr->iID;
|
||||||
|
dead.iDamage = plr->HP;
|
||||||
|
dead.iHP = plr->HP = 0;
|
||||||
|
|
||||||
|
sendToViewable(sock, (void*)&dead, P_FE2CL_PC_SUDDEN_DEAD, sizeof(sP_FE2CL_PC_SUDDEN_DEAD));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayerManager::heartbeatPlayer(CNSocket* sock, CNPacketData* data) {
|
void PlayerManager::heartbeatPlayer(CNSocket* sock, CNPacketData* data) {
|
||||||
|
Loading…
Reference in New Issue
Block a user