mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 16:51:29 +00:00
[Commands] Cleanup #resetaa Command (#4310)
* [Commands] Cleanup #resetaa Command * Update resetaa.cpp
This commit is contained in:
parent
ca69cc67e8
commit
7e40c5bac2
22
zone/aa.cpp
22
zone/aa.cpp
@ -518,7 +518,7 @@ void Mob::WakeTheDead(uint16 spell_id, Corpse *corpse_to_use, Mob *tar, uint32 d
|
|||||||
|
|
||||||
void Client::ResetAA()
|
void Client::ResetAA()
|
||||||
{
|
{
|
||||||
SendClearAA();
|
SendClearPlayerAA();
|
||||||
RefundAA();
|
RefundAA();
|
||||||
|
|
||||||
memset(&m_pp.aa_array[0], 0, sizeof(AA_Array) * MAX_PP_AA_ARRAY);
|
memset(&m_pp.aa_array[0], 0, sizeof(AA_Array) * MAX_PP_AA_ARRAY);
|
||||||
@ -540,6 +540,13 @@ void Client::ResetAA()
|
|||||||
++slot_id;
|
++slot_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
database.DeleteCharacterAAs(CharacterID());
|
||||||
|
}
|
||||||
|
|
||||||
|
void Client::ResetLeadershipAA()
|
||||||
|
{
|
||||||
|
SendClearLeadershipAA();
|
||||||
|
|
||||||
for (int slot_id = 0; slot_id < _maxLeaderAA; ++slot_id) {
|
for (int slot_id = 0; slot_id < _maxLeaderAA; ++slot_id) {
|
||||||
m_pp.leader_abilities.ranks[slot_id] = 0;
|
m_pp.leader_abilities.ranks[slot_id] = 0;
|
||||||
}
|
}
|
||||||
@ -549,16 +556,9 @@ void Client::ResetAA()
|
|||||||
m_pp.group_leadership_exp = 0;
|
m_pp.group_leadership_exp = 0;
|
||||||
m_pp.raid_leadership_exp = 0;
|
m_pp.raid_leadership_exp = 0;
|
||||||
|
|
||||||
database.DeleteCharacterAAs(CharacterID());
|
|
||||||
database.DeleteCharacterLeadershipAbilities(CharacterID());
|
database.DeleteCharacterLeadershipAbilities(CharacterID());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Client::SendClearAA()
|
|
||||||
{
|
|
||||||
SendClearLeadershipAA();
|
|
||||||
SendClearPlayerAA();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Client::SendClearPlayerAA()
|
void Client::SendClearPlayerAA()
|
||||||
{
|
{
|
||||||
auto outapp = new EQApplicationPacket(OP_ClearAA, 0);
|
auto outapp = new EQApplicationPacket(OP_ClearAA, 0);
|
||||||
@ -2178,7 +2178,8 @@ void Client::AutoGrantAAPoints() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SendClearAA();
|
SendClearLeadershipAA();
|
||||||
|
SendClearPlayerAA();
|
||||||
SendAlternateAdvancementTable();
|
SendAlternateAdvancementTable();
|
||||||
SendAlternateAdvancementPoints();
|
SendAlternateAdvancementPoints();
|
||||||
SendAlternateAdvancementStats();
|
SendAlternateAdvancementStats();
|
||||||
@ -2211,7 +2212,8 @@ void Client::GrantAllAAPoints(uint8 unlock_level)
|
|||||||
}
|
}
|
||||||
|
|
||||||
SaveAA();
|
SaveAA();
|
||||||
SendClearAA();
|
SendClearLeadershipAA();
|
||||||
|
SendClearPlayerAA();
|
||||||
SendAlternateAdvancementTable();
|
SendAlternateAdvancementTable();
|
||||||
SendAlternateAdvancementPoints();
|
SendAlternateAdvancementPoints();
|
||||||
SendAlternateAdvancementStats();
|
SendAlternateAdvancementStats();
|
||||||
|
|||||||
@ -1009,8 +1009,8 @@ public:
|
|||||||
|
|
||||||
//old AA methods that we still use
|
//old AA methods that we still use
|
||||||
void ResetAA();
|
void ResetAA();
|
||||||
|
void ResetLeadershipAA();
|
||||||
void RefundAA();
|
void RefundAA();
|
||||||
void SendClearAA();
|
|
||||||
void SendClearLeadershipAA();
|
void SendClearLeadershipAA();
|
||||||
void SendClearPlayerAA();
|
void SendClearPlayerAA();
|
||||||
inline uint32 GetAAXP() const { return m_pp.expAA; }
|
inline uint32 GetAAXP() const { return m_pp.expAA; }
|
||||||
|
|||||||
@ -197,7 +197,7 @@ int command_init(void)
|
|||||||
command_add("rl", "Reloads logs (alias of #reload logs).", AccountStatus::GMMgmt, command_reload) ||
|
command_add("rl", "Reloads logs (alias of #reload logs).", AccountStatus::GMMgmt, command_reload) ||
|
||||||
command_add("removeitem", "[Item ID] [Amount] - Removes the specified Item ID by Amount from you or your player target's inventory (Amount defaults to 1 if not used)", AccountStatus::GMAdmin, command_removeitem) ||
|
command_add("removeitem", "[Item ID] [Amount] - Removes the specified Item ID by Amount from you or your player target's inventory (Amount defaults to 1 if not used)", AccountStatus::GMAdmin, command_removeitem) ||
|
||||||
command_add("repop", "[Force] - Repop the zone with optional force repop", AccountStatus::GMAdmin, command_repop) ||
|
command_add("repop", "[Force] - Repop the zone with optional force repop", AccountStatus::GMAdmin, command_repop) ||
|
||||||
command_add("resetaa", "Resets a Player's AA in their profile and refunds spent AA's to unspent, may disconnect player.", AccountStatus::GMMgmt, command_resetaa) ||
|
command_add("resetaa", "[aa|leadership] - Resets a player's AAs or Leadership AAs and refunds spent AAs (not Leadership AAs) to unspent, may disconnect player.", AccountStatus::GMMgmt, command_resetaa) ||
|
||||||
command_add("resetaa_timer", "[All|Timer ID] - Command to reset AA cooldown timers for you or your player target.", AccountStatus::GMMgmt, command_resetaa_timer) ||
|
command_add("resetaa_timer", "[All|Timer ID] - Command to reset AA cooldown timers for you or your player target.", AccountStatus::GMMgmt, command_resetaa_timer) ||
|
||||||
command_add("resetdisc_timer", "[All|Timer ID] - Command to reset discipline timers.", AccountStatus::GMMgmt, command_resetdisc_timer) ||
|
command_add("resetdisc_timer", "[All|Timer ID] - Command to reset discipline timers.", AccountStatus::GMMgmt, command_resetdisc_timer) ||
|
||||||
command_add("revoke", "[Character Name] [0|1] - Revokes or unrevokes a player's ability to talk in OOC by name (0 = Unrevoke, 1 = Revoke)", AccountStatus::GMMgmt, command_revoke) ||
|
command_add("revoke", "[Character Name] [0|1] - Revokes or unrevokes a player's ability to talk in OOC by name (0 = Unrevoke, 1 = Revoke)", AccountStatus::GMMgmt, command_revoke) ||
|
||||||
|
|||||||
@ -2,18 +2,32 @@
|
|||||||
|
|
||||||
void command_resetaa(Client *c, const Seperator *sep)
|
void command_resetaa(Client *c, const Seperator *sep)
|
||||||
{
|
{
|
||||||
if (!c->GetTarget() || !c->GetTarget()->IsClient()) {
|
Client* t = c;
|
||||||
c->Message(Chat::White, "You must target a player to use this command.");
|
if (c->GetTarget() && c->GetTarget()->IsClient()) {
|
||||||
|
t = c->GetTarget()->CastToClient();
|
||||||
|
}
|
||||||
|
|
||||||
|
const uint16 arguments = sep->argnum;
|
||||||
|
const bool is_aa = !strcasecmp(sep->arg[1], "aa");
|
||||||
|
const bool is_leadership = !strcasecmp(sep->arg[1], "leadership");
|
||||||
|
|
||||||
|
if (!arguments || (!is_aa && !is_leadership)) {
|
||||||
|
c->Message(Chat::White, "Usage: #resetaa aa - Resets and refunds a player's AAs");
|
||||||
|
c->Message(Chat::White, "Usage: #resetaa leadership - Resets a player's Leadership AAs");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto t = c->GetTarget()->CastToClient();
|
if (is_aa) {
|
||||||
t->ResetAA();
|
t->ResetAA();
|
||||||
|
} else if (is_leadership) {
|
||||||
|
t->ResetLeadershipAA();
|
||||||
|
}
|
||||||
|
|
||||||
c->Message(
|
c->Message(
|
||||||
Chat::White,
|
Chat::White,
|
||||||
fmt::format(
|
fmt::format(
|
||||||
"Successfully reset all Alternate Advancements for {}.",
|
"Successfully reset all{} AAs for {}.",
|
||||||
|
is_aa ? "" : " Leadership",
|
||||||
c->GetTargetDescription(t)
|
c->GetTargetDescription(t)
|
||||||
).c_str()
|
).c_str()
|
||||||
);
|
);
|
||||||
|
|||||||
@ -3369,6 +3369,12 @@ void Lua_Client::DescribeSpecialAbilities(Lua_NPC n)
|
|||||||
n.DescribeSpecialAbilities(self);
|
n.DescribeSpecialAbilities(self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Lua_Client::ResetLeadershipAA()
|
||||||
|
{
|
||||||
|
Lua_Safe_Call_Void();
|
||||||
|
self->ResetLeadershipAA();
|
||||||
|
}
|
||||||
|
|
||||||
luabind::scope lua_register_client() {
|
luabind::scope lua_register_client() {
|
||||||
return luabind::class_<Lua_Client, Lua_Mob>("Client")
|
return luabind::class_<Lua_Client, Lua_Mob>("Client")
|
||||||
.def(luabind::constructor<>())
|
.def(luabind::constructor<>())
|
||||||
@ -3751,11 +3757,13 @@ luabind::scope lua_register_client() {
|
|||||||
.def("RemoveAllExpeditionLockouts", (void(Lua_Client::*)(std::string))&Lua_Client::RemoveAllExpeditionLockouts)
|
.def("RemoveAllExpeditionLockouts", (void(Lua_Client::*)(std::string))&Lua_Client::RemoveAllExpeditionLockouts)
|
||||||
.def("RemoveAllExpeditionLockouts", (void(Lua_Client::*)(void))&Lua_Client::RemoveAllExpeditionLockouts)
|
.def("RemoveAllExpeditionLockouts", (void(Lua_Client::*)(void))&Lua_Client::RemoveAllExpeditionLockouts)
|
||||||
.def("RemoveAlternateCurrencyValue", (bool(Lua_Client::*)(uint32,uint32))&Lua_Client::RemoveAlternateCurrencyValue)
|
.def("RemoveAlternateCurrencyValue", (bool(Lua_Client::*)(uint32,uint32))&Lua_Client::RemoveAlternateCurrencyValue)
|
||||||
|
.def("RemoveEbonCrystals", (void(Lua_Client::*)(uint32))&Lua_Client::RemoveEbonCrystals)
|
||||||
.def("RemoveExpeditionLockout", (void(Lua_Client::*)(std::string, std::string))&Lua_Client::RemoveExpeditionLockout)
|
.def("RemoveExpeditionLockout", (void(Lua_Client::*)(std::string, std::string))&Lua_Client::RemoveExpeditionLockout)
|
||||||
.def("RemoveItem", (void(Lua_Client::*)(uint32))&Lua_Client::RemoveItem)
|
.def("RemoveItem", (void(Lua_Client::*)(uint32))&Lua_Client::RemoveItem)
|
||||||
.def("RemoveItem", (void(Lua_Client::*)(uint32,uint32))&Lua_Client::RemoveItem)
|
.def("RemoveItem", (void(Lua_Client::*)(uint32,uint32))&Lua_Client::RemoveItem)
|
||||||
.def("RemoveLDoNLoss", (void(Lua_Client::*)(uint32))&Lua_Client::RemoveLDoNLoss)
|
.def("RemoveLDoNLoss", (void(Lua_Client::*)(uint32))&Lua_Client::RemoveLDoNLoss)
|
||||||
.def("RemoveLDoNWin", (void(Lua_Client::*)(uint32))&Lua_Client::RemoveLDoNWin)
|
.def("RemoveLDoNWin", (void(Lua_Client::*)(uint32))&Lua_Client::RemoveLDoNWin)
|
||||||
|
.def("RemoveRadiantCrystals", (void(Lua_Client::*)(uint32))&Lua_Client::RemoveRadiantCrystals)
|
||||||
.def("ResetAA", (void(Lua_Client::*)(void))&Lua_Client::ResetAA)
|
.def("ResetAA", (void(Lua_Client::*)(void))&Lua_Client::ResetAA)
|
||||||
.def("ResetAllDisciplineTimers", (void(Lua_Client::*)(void))&Lua_Client::ResetAllDisciplineTimers)
|
.def("ResetAllDisciplineTimers", (void(Lua_Client::*)(void))&Lua_Client::ResetAllDisciplineTimers)
|
||||||
.def("ResetAllCastbarCooldowns", (void(Lua_Client::*)(void))&Lua_Client::ResetAllCastbarCooldowns)
|
.def("ResetAllCastbarCooldowns", (void(Lua_Client::*)(void))&Lua_Client::ResetAllCastbarCooldowns)
|
||||||
@ -3763,9 +3771,8 @@ luabind::scope lua_register_client() {
|
|||||||
.def("ResetCastbarCooldownBySlot", (void(Lua_Client::*)(int))&Lua_Client::ResetCastbarCooldownBySlot)
|
.def("ResetCastbarCooldownBySlot", (void(Lua_Client::*)(int))&Lua_Client::ResetCastbarCooldownBySlot)
|
||||||
.def("ResetCastbarCooldownBySpellID", (void(Lua_Client::*)(uint32))&Lua_Client::ResetCastbarCooldownBySpellID)
|
.def("ResetCastbarCooldownBySpellID", (void(Lua_Client::*)(uint32))&Lua_Client::ResetCastbarCooldownBySpellID)
|
||||||
.def("ResetDisciplineTimer", (void(Lua_Client::*)(uint32))&Lua_Client::ResetDisciplineTimer)
|
.def("ResetDisciplineTimer", (void(Lua_Client::*)(uint32))&Lua_Client::ResetDisciplineTimer)
|
||||||
.def("RemoveEbonCrystals", (void(Lua_Client::*)(uint32))&Lua_Client::RemoveEbonCrystals)
|
|
||||||
.def("ResetItemCooldown", (void(Lua_Client::*)(uint32))&Lua_Client::ResetItemCooldown)
|
.def("ResetItemCooldown", (void(Lua_Client::*)(uint32))&Lua_Client::ResetItemCooldown)
|
||||||
.def("RemoveRadiantCrystals", (void(Lua_Client::*)(uint32))&Lua_Client::RemoveRadiantCrystals)
|
.def("ResetLeadershipAA", (void(Lua_Client::*)(void))&Lua_Client::ResetLeadershipAA)
|
||||||
.def("ResetTrade", (void(Lua_Client::*)(void))&Lua_Client::ResetTrade)
|
.def("ResetTrade", (void(Lua_Client::*)(void))&Lua_Client::ResetTrade)
|
||||||
.def("RewardFaction", (void(Lua_Client::*)(int,int))&Lua_Client::RewardFaction)
|
.def("RewardFaction", (void(Lua_Client::*)(int,int))&Lua_Client::RewardFaction)
|
||||||
.def("Save", (void(Lua_Client::*)(int))&Lua_Client::Save)
|
.def("Save", (void(Lua_Client::*)(int))&Lua_Client::Save)
|
||||||
|
|||||||
@ -503,6 +503,7 @@ public:
|
|||||||
bool SetAutoLoginCharacterName();
|
bool SetAutoLoginCharacterName();
|
||||||
bool SetAutoLoginCharacterName(std::string character_name);
|
bool SetAutoLoginCharacterName(std::string character_name);
|
||||||
void DescribeSpecialAbilities(Lua_NPC n);
|
void DescribeSpecialAbilities(Lua_NPC n);
|
||||||
|
void ResetLeadershipAA();
|
||||||
|
|
||||||
void ApplySpell(int spell_id);
|
void ApplySpell(int spell_id);
|
||||||
void ApplySpell(int spell_id, int duration);
|
void ApplySpell(int spell_id, int duration);
|
||||||
|
|||||||
@ -3168,6 +3168,11 @@ void Perl_Client_DescribeSpecialAbilities(Client* self, NPC* n)
|
|||||||
n->DescribeSpecialAbilities(self);
|
n->DescribeSpecialAbilities(self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Perl_Client_ResetLeadershipAA(Client* self)
|
||||||
|
{
|
||||||
|
self->ResetLeadershipAA();
|
||||||
|
}
|
||||||
|
|
||||||
void perl_register_client()
|
void perl_register_client()
|
||||||
{
|
{
|
||||||
perl::interpreter perl(PERL_GET_THX);
|
perl::interpreter perl(PERL_GET_THX);
|
||||||
@ -3561,6 +3566,7 @@ void perl_register_client()
|
|||||||
package.add("ResetCastbarCooldownBySpellID", &Perl_Client_ResetCastbarCooldownBySpellID);
|
package.add("ResetCastbarCooldownBySpellID", &Perl_Client_ResetCastbarCooldownBySpellID);
|
||||||
package.add("ResetDisciplineTimer", &Perl_Client_ResetDisciplineTimer);
|
package.add("ResetDisciplineTimer", &Perl_Client_ResetDisciplineTimer);
|
||||||
package.add("ResetItemCooldown", &Perl_Client_ResetItemCooldown);
|
package.add("ResetItemCooldown", &Perl_Client_ResetItemCooldown);
|
||||||
|
package.add("ResetLeadershipAA", &Perl_Client_ResetLeadershipAA);
|
||||||
package.add("ResetTrade", &Perl_Client_ResetTrade);
|
package.add("ResetTrade", &Perl_Client_ResetTrade);
|
||||||
package.add("Save", &Perl_Client_Save);
|
package.add("Save", &Perl_Client_Save);
|
||||||
package.add("ScribeSpell", (void(*)(Client*, uint16, int))&Perl_Client_ScribeSpell);
|
package.add("ScribeSpell", (void(*)(Client*, uint16, int))&Perl_Client_ScribeSpell);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user