[Feature] Add Character Auto Login (#4216)

* [Feature] Add Character Auto Login

* Add commands and finalize.

* Add methods without character name.

* Update perl_client.cpp

* Add other methods.

* Repository methods.

* Update account_repository.h

* Update command_subsettings_repository.h

* Update command_subsettings_repository.h

* Update client.cpp
This commit is contained in:
Alex King
2024-04-15 06:13:39 -04:00
committed by GitHub
parent ac12ba153e
commit 0a3f1d3c41
19 changed files with 346 additions and 121 deletions
+18
View File
@@ -3148,6 +3148,21 @@ perl::array Perl_Client_GetRaidOrGroupOrSelf(Client* self, bool clients_only)
return result;
}
std::string Perl_Client_GetAutoLoginCharacterName(Client* self)
{
return quest_manager.GetAutoLoginCharacterNameByAccountID(self->AccountID());
}
bool Perl_Client_SetAutoLoginCharacterName(Client* self)
{
return quest_manager.SetAutoLoginCharacterNameByAccountID(self->AccountID(), self->GetCleanName());
}
bool Perl_Client_SetAutoLoginCharacterName(Client* self, std::string character_name)
{
return quest_manager.SetAutoLoginCharacterNameByAccountID(self->AccountID(), character_name);
}
void perl_register_client()
{
perl::interpreter perl(PERL_GET_THX);
@@ -3280,6 +3295,7 @@ void perl_register_client()
package.add("GetAugmentAt", &Perl_Client_GetAugmentAt);
package.add("GetAugmentIDAt", &Perl_Client_GetAugmentIDAt);
package.add("GetAugmentIDsBySlotID", &Perl_Client_GetAugmentIDsBySlotID);
package.add("GetAutoLoginCharacterName", &Perl_Client_GetAutoLoginCharacterName);
package.add("GetBaseAGI", &Perl_Client_GetBaseAGI);
package.add("GetBaseCHA", &Perl_Client_GetBaseCHA);
package.add("GetBaseDEX", &Perl_Client_GetBaseDEX);
@@ -3572,6 +3588,8 @@ void perl_register_client()
package.add("SetAccountFlag", &Perl_Client_SetAccountFlag);
package.add("SetAlternateCurrencyValue", &Perl_Client_SetAlternateCurrencyValue);
package.add("SetAnon", &Perl_Client_SetAnon);
package.add("SetAutoLoginCharacterName", (bool(*)(Client*))&Perl_Client_SetAutoLoginCharacterName);
package.add("SetAutoLoginCharacterName", (bool(*)(Client*, std::string))&Perl_Client_SetAutoLoginCharacterName);
package.add("SetBaseClass", &Perl_Client_SetBaseClass);
package.add("SetBaseGender", &Perl_Client_SetBaseGender);
package.add("SetBaseRace", &Perl_Client_SetBaseRace);