Changes account packets to functional (#284)

- [X] Moved packets from objects to functions
- [X] Fixed bug where characters were showing up with their modded names in the character list

Bumps release version
This commit is contained in:
Kamron Batman 2020-10-25 23:47:29 -07:00 committed by GitHub
parent 90220feb41
commit 0e02cf0821
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 866 additions and 631 deletions

View file

@ -218,11 +218,14 @@ namespace Server.Misc
if (!(state.Account is Account acct))
{
state.Dispose();
return;
}
else if (index < 0 || index >= acct.Length)
DeleteResultType res;
if (index < 0 || index >= acct.Length)
{
state.Send(new DeleteResult(DeleteResultType.BadRequest));
state.Send(new CharacterListUpdate(acct));
res = DeleteResultType.BadRequest;
}
else
{
@ -230,25 +233,21 @@ namespace Server.Misc
if (m == null)
{
state.Send(new DeleteResult(DeleteResultType.CharNotExist));
state.Send(new CharacterListUpdate(acct));
res = DeleteResultType.CharNotExist;
}
else if (m.NetState != null)
{
state.Send(new DeleteResult(DeleteResultType.CharBeingPlayed));
state.Send(new CharacterListUpdate(acct));
res = DeleteResultType.CharBeingPlayed;
}
else if (RestrictDeletion && DateTime.UtcNow < m.CreationTime + DeleteDelay)
{
state.Send(new DeleteResult(DeleteResultType.CharTooYoung));
state.Send(new CharacterListUpdate(acct));
res = DeleteResultType.CharTooYoung;
}
else if (m.AccessLevel == AccessLevel.Player &&
Region.Find(m.LogoutLocation, m.LogoutMap).IsPartOf<JailRegion>()
) // Don't need to check current location, if netstate is null, they're logged out
{
state.Send(new DeleteResult(DeleteResultType.BadRequest));
state.Send(new CharacterListUpdate(acct));
res = DeleteResultType.BadRequest;
}
else
{
@ -257,9 +256,14 @@ namespace Server.Misc
acct.Comments.Add(new AccountComment("System", $"Character #{index + 1} {m} deleted by {state}"));
m.Delete();
state.Send(new CharacterListUpdate(acct));
Packets.SendCharacterListUpdate(state, acct);
return;
}
}
Packets.SendCharacterDeleteResult(state, res);
Packets.SendCharacterListUpdate(state, acct);
}
public static bool CanCreate(IPAddress ip) =>