mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-12 08:02:25 +00:00
Let client handle consent confirmation messages to corpse owner
This commit is contained in:
parent
14c070f845
commit
e09b0ae1e9
@ -870,7 +870,6 @@ struct ServerOP_Consent_Struct {
|
|||||||
uint8 permission;
|
uint8 permission;
|
||||||
uint32 zone_id;
|
uint32 zone_id;
|
||||||
uint16 instance_id;
|
uint16 instance_id;
|
||||||
uint32 message_string_id;
|
|
||||||
uint8 consent_type; // 0 = normal, 1 = group, 2 = raid, 3 = guild
|
uint8 consent_type; // 0 = normal, 1 = group, 2 = raid, 3 = guild
|
||||||
uint32 consent_id;
|
uint32 consent_id;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -6272,7 +6272,6 @@ void Client::ConsentCorpses(const char* consent_name, bool deny)
|
|||||||
strn0cpy(scs->grantname, consent_name, sizeof(scs->grantname));
|
strn0cpy(scs->grantname, consent_name, sizeof(scs->grantname));
|
||||||
strn0cpy(scs->ownername, GetName(), sizeof(scs->ownername));
|
strn0cpy(scs->ownername, GetName(), sizeof(scs->ownername));
|
||||||
strn0cpy(scs->zonename, "Unknown", sizeof(scs->zonename));
|
strn0cpy(scs->zonename, "Unknown", sizeof(scs->zonename));
|
||||||
scs->message_string_id = 0;
|
|
||||||
scs->permission = deny ? 0 : 1;
|
scs->permission = deny ? 0 : 1;
|
||||||
scs->zone_id = zone->GetZoneID();
|
scs->zone_id = zone->GetZoneID();
|
||||||
scs->instance_id = zone->GetInstanceID();
|
scs->instance_id = zone->GetInstanceID();
|
||||||
|
|||||||
@ -268,8 +268,6 @@
|
|||||||
#define REZZ_ALREADY_PENDING 1379 //You were unable to restore the corpse to life, but you may have success with a later attempt.
|
#define REZZ_ALREADY_PENDING 1379 //You were unable to restore the corpse to life, but you may have success with a later attempt.
|
||||||
#define IN_USE 1406 //Someone else is using that. Try again later.
|
#define IN_USE 1406 //Someone else is using that. Try again later.
|
||||||
#define DUEL_FLED 1408 //%1 has defeated %2 in a duel to the death! %3 has fled like a cowardly dog!
|
#define DUEL_FLED 1408 //%1 has defeated %2 in a duel to the death! %3 has fled like a cowardly dog!
|
||||||
#define GIVE_CONSENT 1427 //You have given %1 permission to drag your corpse in %2.
|
|
||||||
#define DENY_CONSENT 1428 //You have denied %1 permission to drag your corpse in %2.
|
|
||||||
#define MEMBER_OF_YOUR_GUILD 1429
|
#define MEMBER_OF_YOUR_GUILD 1429
|
||||||
#define OFFICER_OF_YOUR_GUILD 1430
|
#define OFFICER_OF_YOUR_GUILD 1430
|
||||||
#define LEADER_OF_YOUR_GUILD 1431
|
#define LEADER_OF_YOUR_GUILD 1431
|
||||||
|
|||||||
@ -1475,7 +1475,6 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
if (zone) {
|
if (zone) {
|
||||||
strn0cpy(scs->zonename, zone->GetLongName(), sizeof(scs->zonename));
|
strn0cpy(scs->zonename, zone->GetLongName(), sizeof(scs->zonename));
|
||||||
}
|
}
|
||||||
scs->message_string_id = s->permission ? GIVE_CONSENT : DENY_CONSENT;
|
|
||||||
worldserver.SendPacket(outapp);
|
worldserver.SendPacket(outapp);
|
||||||
safe_delete(outapp);
|
safe_delete(outapp);
|
||||||
}
|
}
|
||||||
@ -1483,24 +1482,25 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
}
|
}
|
||||||
case ServerOP_Consent_Response: {
|
case ServerOP_Consent_Response: {
|
||||||
ServerOP_Consent_Struct* s = (ServerOP_Consent_Struct*)pack->pBuffer;
|
ServerOP_Consent_Struct* s = (ServerOP_Consent_Struct*)pack->pBuffer;
|
||||||
|
Client* owner_client = entity_list.GetClientByName(s->ownername);
|
||||||
|
Client* grant_client = nullptr;
|
||||||
if (s->consent_type == EQEmu::consent::Normal) {
|
if (s->consent_type == EQEmu::consent::Normal) {
|
||||||
Client* grant_client = entity_list.GetClientByName(s->grantname);
|
grant_client = entity_list.GetClientByName(s->grantname);
|
||||||
if (grant_client) {
|
|
||||||
// send the message to the client being granted or denied permission
|
|
||||||
auto outapp = new EQApplicationPacket(OP_ConsentResponse, sizeof(ConsentResponse_Struct));
|
|
||||||
ConsentResponse_Struct* crs = (ConsentResponse_Struct*)outapp->pBuffer;
|
|
||||||
strn0cpy(crs->grantname, s->grantname, sizeof(crs->grantname));
|
|
||||||
strn0cpy(crs->ownername, s->ownername, sizeof(crs->ownername));
|
|
||||||
crs->permission = s->permission;
|
|
||||||
strn0cpy(crs->zonename, s->zonename, sizeof(crs->zonename));
|
|
||||||
grant_client->QueuePacket(outapp);
|
|
||||||
safe_delete(outapp);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Client* client = entity_list.GetClientByName(s->ownername);
|
if (owner_client || grant_client) {
|
||||||
if (client) {
|
auto outapp = new EQApplicationPacket(OP_ConsentResponse, sizeof(ConsentResponse_Struct));
|
||||||
// send owner consent/deny confirmation message
|
ConsentResponse_Struct* crs = (ConsentResponse_Struct*)outapp->pBuffer;
|
||||||
client->MessageString(Chat::White, s->message_string_id, s->grantname, s->zonename);
|
strn0cpy(crs->grantname, s->grantname, sizeof(crs->grantname));
|
||||||
|
strn0cpy(crs->ownername, s->ownername, sizeof(crs->ownername));
|
||||||
|
crs->permission = s->permission;
|
||||||
|
strn0cpy(crs->zonename, s->zonename, sizeof(crs->zonename));
|
||||||
|
if (owner_client) {
|
||||||
|
owner_client->QueuePacket(outapp); // confirmation message to the owner
|
||||||
|
}
|
||||||
|
if (grant_client) {
|
||||||
|
grant_client->QueuePacket(outapp); // message to the client being granted/denied
|
||||||
|
}
|
||||||
|
safe_delete(outapp);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user