#[derive(Debug, PartialEq, Eq, Hash, Ord, PartialOrd, Copy, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
pub enum WorldResult {
ResponseSuccess,
ResponseFailure,
ResponseCancelled,
ResponseDisconnected,
ResponseFailedToConnect,
ResponseConnected,
ResponseVersionMismatch,
CstatusConnecting,
CstatusNegotiatingSecurity,
CstatusNegotiationComplete,
CstatusNegotiationFailed,
CstatusAuthenticating,
AuthOk,
AuthFailed,
AuthReject,
AuthBadServerProof,
AuthUnavailable,
AuthSystemError,
AuthBillingError,
AuthBillingExpired,
AuthVersionMismatch,
AuthUnknownAccount,
AuthIncorrectPassword,
AuthSessionExpired,
AuthServerShuttingDown,
AuthAlreadyLoggingIn,
AuthLoginServerNotFound,
AuthWaitQueue,
AuthBanned,
AuthAlreadyOnline,
AuthNoTime,
AuthDbBusy,
AuthSuspended,
AuthParentalControl,
RealmListInProgress,
RealmListSuccess,
RealmListFailed,
RealmListInvalid,
RealmListRealmNotFound,
AccountCreateInProgress,
AccountCreateSuccess,
AccountCreateFailed,
CharListRetrieving,
CharListRetrieved,
CharListFailed,
CharCreateInProgress,
CharCreateSuccess,
CharCreateError,
CharCreateFailed,
CharCreateNameInUse,
CharCreateDisabled,
CharCreatePvpTeamsViolation,
CharCreateServerLimit,
CharCreateAccountLimit,
CharCreateServerQueue,
CharCreateOnlyExisting,
CharDeleteInProgress,
CharDeleteSuccess,
CharDeleteFailed,
CharDeleteFailedLockedForTransfer,
CharLoginInProgress,
CharLoginSuccess,
CharLoginNoWorld,
CharLoginDuplicateCharacter,
CharLoginNoInstances,
CharLoginFailed,
CharLoginDisabled,
CharLoginNoCharacter,
CharLoginLockedForTransfer,
CharNameNoName,
CharNameTooShort,
CharNameTooLong,
CharNameOnlyLetters,
CharNameMixedLanguages,
CharNameProfane,
CharNameReserved,
CharNameInvalidApostrophe,
CharNameMultipleApostrophes,
CharNameThreeConsecutive,
CharNameInvalidSpace,
CharNameSuccess,
CharNameFailure,
}
impl WorldResult {
pub const fn as_int(&self) -> u8 {
match self {
Self::ResponseSuccess => 0x0,
Self::ResponseFailure => 0x1,
Self::ResponseCancelled => 0x2,
Self::ResponseDisconnected => 0x3,
Self::ResponseFailedToConnect => 0x4,
Self::ResponseConnected => 0x5,
Self::ResponseVersionMismatch => 0x6,
Self::CstatusConnecting => 0x7,
Self::CstatusNegotiatingSecurity => 0x8,
Self::CstatusNegotiationComplete => 0x9,
Self::CstatusNegotiationFailed => 0xa,
Self::CstatusAuthenticating => 0xb,
Self::AuthOk => 0xc,
Self::AuthFailed => 0xd,
Self::AuthReject => 0xe,
Self::AuthBadServerProof => 0xf,
Self::AuthUnavailable => 0x10,
Self::AuthSystemError => 0x11,
Self::AuthBillingError => 0x12,
Self::AuthBillingExpired => 0x13,
Self::AuthVersionMismatch => 0x14,
Self::AuthUnknownAccount => 0x15,
Self::AuthIncorrectPassword => 0x16,
Self::AuthSessionExpired => 0x17,
Self::AuthServerShuttingDown => 0x18,
Self::AuthAlreadyLoggingIn => 0x19,
Self::AuthLoginServerNotFound => 0x1a,
Self::AuthWaitQueue => 0x1b,
Self::AuthBanned => 0x1c,
Self::AuthAlreadyOnline => 0x1d,
Self::AuthNoTime => 0x1e,
Self::AuthDbBusy => 0x1f,
Self::AuthSuspended => 0x20,
Self::AuthParentalControl => 0x21,
Self::RealmListInProgress => 0x22,
Self::RealmListSuccess => 0x23,
Self::RealmListFailed => 0x24,
Self::RealmListInvalid => 0x25,
Self::RealmListRealmNotFound => 0x26,
Self::AccountCreateInProgress => 0x27,
Self::AccountCreateSuccess => 0x28,
Self::AccountCreateFailed => 0x29,
Self::CharListRetrieving => 0x2a,
Self::CharListRetrieved => 0x2b,
Self::CharListFailed => 0x2c,
Self::CharCreateInProgress => 0x2d,
Self::CharCreateSuccess => 0x2e,
Self::CharCreateError => 0x2f,
Self::CharCreateFailed => 0x30,
Self::CharCreateNameInUse => 0x31,
Self::CharCreateDisabled => 0x32,
Self::CharCreatePvpTeamsViolation => 0x33,
Self::CharCreateServerLimit => 0x34,
Self::CharCreateAccountLimit => 0x35,
Self::CharCreateServerQueue => 0x36,
Self::CharCreateOnlyExisting => 0x37,
Self::CharDeleteInProgress => 0x38,
Self::CharDeleteSuccess => 0x39,
Self::CharDeleteFailed => 0x3a,
Self::CharDeleteFailedLockedForTransfer => 0x3b,
Self::CharLoginInProgress => 0x3c,
Self::CharLoginSuccess => 0x3d,
Self::CharLoginNoWorld => 0x3e,
Self::CharLoginDuplicateCharacter => 0x3f,
Self::CharLoginNoInstances => 0x40,
Self::CharLoginFailed => 0x41,
Self::CharLoginDisabled => 0x42,
Self::CharLoginNoCharacter => 0x43,
Self::CharLoginLockedForTransfer => 0x44,
Self::CharNameNoName => 0x45,
Self::CharNameTooShort => 0x46,
Self::CharNameTooLong => 0x47,
Self::CharNameOnlyLetters => 0x48,
Self::CharNameMixedLanguages => 0x49,
Self::CharNameProfane => 0x4a,
Self::CharNameReserved => 0x4b,
Self::CharNameInvalidApostrophe => 0x4c,
Self::CharNameMultipleApostrophes => 0x4d,
Self::CharNameThreeConsecutive => 0x4e,
Self::CharNameInvalidSpace => 0x4f,
Self::CharNameSuccess => 0x50,
Self::CharNameFailure => 0x51,
}
}
pub const fn variants() -> [Self; 82] {
[
Self::ResponseSuccess,
Self::ResponseFailure,
Self::ResponseCancelled,
Self::ResponseDisconnected,
Self::ResponseFailedToConnect,
Self::ResponseConnected,
Self::ResponseVersionMismatch,
Self::CstatusConnecting,
Self::CstatusNegotiatingSecurity,
Self::CstatusNegotiationComplete,
Self::CstatusNegotiationFailed,
Self::CstatusAuthenticating,
Self::AuthOk,
Self::AuthFailed,
Self::AuthReject,
Self::AuthBadServerProof,
Self::AuthUnavailable,
Self::AuthSystemError,
Self::AuthBillingError,
Self::AuthBillingExpired,
Self::AuthVersionMismatch,
Self::AuthUnknownAccount,
Self::AuthIncorrectPassword,
Self::AuthSessionExpired,
Self::AuthServerShuttingDown,
Self::AuthAlreadyLoggingIn,
Self::AuthLoginServerNotFound,
Self::AuthWaitQueue,
Self::AuthBanned,
Self::AuthAlreadyOnline,
Self::AuthNoTime,
Self::AuthDbBusy,
Self::AuthSuspended,
Self::AuthParentalControl,
Self::RealmListInProgress,
Self::RealmListSuccess,
Self::RealmListFailed,
Self::RealmListInvalid,
Self::RealmListRealmNotFound,
Self::AccountCreateInProgress,
Self::AccountCreateSuccess,
Self::AccountCreateFailed,
Self::CharListRetrieving,
Self::CharListRetrieved,
Self::CharListFailed,
Self::CharCreateInProgress,
Self::CharCreateSuccess,
Self::CharCreateError,
Self::CharCreateFailed,
Self::CharCreateNameInUse,
Self::CharCreateDisabled,
Self::CharCreatePvpTeamsViolation,
Self::CharCreateServerLimit,
Self::CharCreateAccountLimit,
Self::CharCreateServerQueue,
Self::CharCreateOnlyExisting,
Self::CharDeleteInProgress,
Self::CharDeleteSuccess,
Self::CharDeleteFailed,
Self::CharDeleteFailedLockedForTransfer,
Self::CharLoginInProgress,
Self::CharLoginSuccess,
Self::CharLoginNoWorld,
Self::CharLoginDuplicateCharacter,
Self::CharLoginNoInstances,
Self::CharLoginFailed,
Self::CharLoginDisabled,
Self::CharLoginNoCharacter,
Self::CharLoginLockedForTransfer,
Self::CharNameNoName,
Self::CharNameTooShort,
Self::CharNameTooLong,
Self::CharNameOnlyLetters,
Self::CharNameMixedLanguages,
Self::CharNameProfane,
Self::CharNameReserved,
Self::CharNameInvalidApostrophe,
Self::CharNameMultipleApostrophes,
Self::CharNameThreeConsecutive,
Self::CharNameInvalidSpace,
Self::CharNameSuccess,
Self::CharNameFailure,
]
}
pub const fn from_int(value: u8) -> Result<Self, crate::errors::EnumError> {
match value {
0 => Ok(Self::ResponseSuccess),
1 => Ok(Self::ResponseFailure),
2 => Ok(Self::ResponseCancelled),
3 => Ok(Self::ResponseDisconnected),
4 => Ok(Self::ResponseFailedToConnect),
5 => Ok(Self::ResponseConnected),
6 => Ok(Self::ResponseVersionMismatch),
7 => Ok(Self::CstatusConnecting),
8 => Ok(Self::CstatusNegotiatingSecurity),
9 => Ok(Self::CstatusNegotiationComplete),
10 => Ok(Self::CstatusNegotiationFailed),
11 => Ok(Self::CstatusAuthenticating),
12 => Ok(Self::AuthOk),
13 => Ok(Self::AuthFailed),
14 => Ok(Self::AuthReject),
15 => Ok(Self::AuthBadServerProof),
16 => Ok(Self::AuthUnavailable),
17 => Ok(Self::AuthSystemError),
18 => Ok(Self::AuthBillingError),
19 => Ok(Self::AuthBillingExpired),
20 => Ok(Self::AuthVersionMismatch),
21 => Ok(Self::AuthUnknownAccount),
22 => Ok(Self::AuthIncorrectPassword),
23 => Ok(Self::AuthSessionExpired),
24 => Ok(Self::AuthServerShuttingDown),
25 => Ok(Self::AuthAlreadyLoggingIn),
26 => Ok(Self::AuthLoginServerNotFound),
27 => Ok(Self::AuthWaitQueue),
28 => Ok(Self::AuthBanned),
29 => Ok(Self::AuthAlreadyOnline),
30 => Ok(Self::AuthNoTime),
31 => Ok(Self::AuthDbBusy),
32 => Ok(Self::AuthSuspended),
33 => Ok(Self::AuthParentalControl),
34 => Ok(Self::RealmListInProgress),
35 => Ok(Self::RealmListSuccess),
36 => Ok(Self::RealmListFailed),
37 => Ok(Self::RealmListInvalid),
38 => Ok(Self::RealmListRealmNotFound),
39 => Ok(Self::AccountCreateInProgress),
40 => Ok(Self::AccountCreateSuccess),
41 => Ok(Self::AccountCreateFailed),
42 => Ok(Self::CharListRetrieving),
43 => Ok(Self::CharListRetrieved),
44 => Ok(Self::CharListFailed),
45 => Ok(Self::CharCreateInProgress),
46 => Ok(Self::CharCreateSuccess),
47 => Ok(Self::CharCreateError),
48 => Ok(Self::CharCreateFailed),
49 => Ok(Self::CharCreateNameInUse),
50 => Ok(Self::CharCreateDisabled),
51 => Ok(Self::CharCreatePvpTeamsViolation),
52 => Ok(Self::CharCreateServerLimit),
53 => Ok(Self::CharCreateAccountLimit),
54 => Ok(Self::CharCreateServerQueue),
55 => Ok(Self::CharCreateOnlyExisting),
56 => Ok(Self::CharDeleteInProgress),
57 => Ok(Self::CharDeleteSuccess),
58 => Ok(Self::CharDeleteFailed),
59 => Ok(Self::CharDeleteFailedLockedForTransfer),
60 => Ok(Self::CharLoginInProgress),
61 => Ok(Self::CharLoginSuccess),
62 => Ok(Self::CharLoginNoWorld),
63 => Ok(Self::CharLoginDuplicateCharacter),
64 => Ok(Self::CharLoginNoInstances),
65 => Ok(Self::CharLoginFailed),
66 => Ok(Self::CharLoginDisabled),
67 => Ok(Self::CharLoginNoCharacter),
68 => Ok(Self::CharLoginLockedForTransfer),
69 => Ok(Self::CharNameNoName),
70 => Ok(Self::CharNameTooShort),
71 => Ok(Self::CharNameTooLong),
72 => Ok(Self::CharNameOnlyLetters),
73 => Ok(Self::CharNameMixedLanguages),
74 => Ok(Self::CharNameProfane),
75 => Ok(Self::CharNameReserved),
76 => Ok(Self::CharNameInvalidApostrophe),
77 => Ok(Self::CharNameMultipleApostrophes),
78 => Ok(Self::CharNameThreeConsecutive),
79 => Ok(Self::CharNameInvalidSpace),
80 => Ok(Self::CharNameSuccess),
81 => Ok(Self::CharNameFailure),
v => Err(crate::errors::EnumError::new(NAME, v as i128),)
}
}
}
#[cfg(feature = "print-testcase")]
impl WorldResult {
pub const fn as_test_case_value(&self) -> &'static str {
match self {
Self::ResponseSuccess => "RESPONSE_SUCCESS",
Self::ResponseFailure => "RESPONSE_FAILURE",
Self::ResponseCancelled => "RESPONSE_CANCELLED",
Self::ResponseDisconnected => "RESPONSE_DISCONNECTED",
Self::ResponseFailedToConnect => "RESPONSE_FAILED_TO_CONNECT",
Self::ResponseConnected => "RESPONSE_CONNECTED",
Self::ResponseVersionMismatch => "RESPONSE_VERSION_MISMATCH",
Self::CstatusConnecting => "CSTATUS_CONNECTING",
Self::CstatusNegotiatingSecurity => "CSTATUS_NEGOTIATING_SECURITY",
Self::CstatusNegotiationComplete => "CSTATUS_NEGOTIATION_COMPLETE",
Self::CstatusNegotiationFailed => "CSTATUS_NEGOTIATION_FAILED",
Self::CstatusAuthenticating => "CSTATUS_AUTHENTICATING",
Self::AuthOk => "AUTH_OK",
Self::AuthFailed => "AUTH_FAILED",
Self::AuthReject => "AUTH_REJECT",
Self::AuthBadServerProof => "AUTH_BAD_SERVER_PROOF",
Self::AuthUnavailable => "AUTH_UNAVAILABLE",
Self::AuthSystemError => "AUTH_SYSTEM_ERROR",
Self::AuthBillingError => "AUTH_BILLING_ERROR",
Self::AuthBillingExpired => "AUTH_BILLING_EXPIRED",
Self::AuthVersionMismatch => "AUTH_VERSION_MISMATCH",
Self::AuthUnknownAccount => "AUTH_UNKNOWN_ACCOUNT",
Self::AuthIncorrectPassword => "AUTH_INCORRECT_PASSWORD",
Self::AuthSessionExpired => "AUTH_SESSION_EXPIRED",
Self::AuthServerShuttingDown => "AUTH_SERVER_SHUTTING_DOWN",
Self::AuthAlreadyLoggingIn => "AUTH_ALREADY_LOGGING_IN",
Self::AuthLoginServerNotFound => "AUTH_LOGIN_SERVER_NOT_FOUND",
Self::AuthWaitQueue => "AUTH_WAIT_QUEUE",
Self::AuthBanned => "AUTH_BANNED",
Self::AuthAlreadyOnline => "AUTH_ALREADY_ONLINE",
Self::AuthNoTime => "AUTH_NO_TIME",
Self::AuthDbBusy => "AUTH_DB_BUSY",
Self::AuthSuspended => "AUTH_SUSPENDED",
Self::AuthParentalControl => "AUTH_PARENTAL_CONTROL",
Self::RealmListInProgress => "REALM_LIST_IN_PROGRESS",
Self::RealmListSuccess => "REALM_LIST_SUCCESS",
Self::RealmListFailed => "REALM_LIST_FAILED",
Self::RealmListInvalid => "REALM_LIST_INVALID",
Self::RealmListRealmNotFound => "REALM_LIST_REALM_NOT_FOUND",
Self::AccountCreateInProgress => "ACCOUNT_CREATE_IN_PROGRESS",
Self::AccountCreateSuccess => "ACCOUNT_CREATE_SUCCESS",
Self::AccountCreateFailed => "ACCOUNT_CREATE_FAILED",
Self::CharListRetrieving => "CHAR_LIST_RETRIEVING",
Self::CharListRetrieved => "CHAR_LIST_RETRIEVED",
Self::CharListFailed => "CHAR_LIST_FAILED",
Self::CharCreateInProgress => "CHAR_CREATE_IN_PROGRESS",
Self::CharCreateSuccess => "CHAR_CREATE_SUCCESS",
Self::CharCreateError => "CHAR_CREATE_ERROR",
Self::CharCreateFailed => "CHAR_CREATE_FAILED",
Self::CharCreateNameInUse => "CHAR_CREATE_NAME_IN_USE",
Self::CharCreateDisabled => "CHAR_CREATE_DISABLED",
Self::CharCreatePvpTeamsViolation => "CHAR_CREATE_PVP_TEAMS_VIOLATION",
Self::CharCreateServerLimit => "CHAR_CREATE_SERVER_LIMIT",
Self::CharCreateAccountLimit => "CHAR_CREATE_ACCOUNT_LIMIT",
Self::CharCreateServerQueue => "CHAR_CREATE_SERVER_QUEUE",
Self::CharCreateOnlyExisting => "CHAR_CREATE_ONLY_EXISTING",
Self::CharDeleteInProgress => "CHAR_DELETE_IN_PROGRESS",
Self::CharDeleteSuccess => "CHAR_DELETE_SUCCESS",
Self::CharDeleteFailed => "CHAR_DELETE_FAILED",
Self::CharDeleteFailedLockedForTransfer => "CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER",
Self::CharLoginInProgress => "CHAR_LOGIN_IN_PROGRESS",
Self::CharLoginSuccess => "CHAR_LOGIN_SUCCESS",
Self::CharLoginNoWorld => "CHAR_LOGIN_NO_WORLD",
Self::CharLoginDuplicateCharacter => "CHAR_LOGIN_DUPLICATE_CHARACTER",
Self::CharLoginNoInstances => "CHAR_LOGIN_NO_INSTANCES",
Self::CharLoginFailed => "CHAR_LOGIN_FAILED",
Self::CharLoginDisabled => "CHAR_LOGIN_DISABLED",
Self::CharLoginNoCharacter => "CHAR_LOGIN_NO_CHARACTER",
Self::CharLoginLockedForTransfer => "CHAR_LOGIN_LOCKED_FOR_TRANSFER",
Self::CharNameNoName => "CHAR_NAME_NO_NAME",
Self::CharNameTooShort => "CHAR_NAME_TOO_SHORT",
Self::CharNameTooLong => "CHAR_NAME_TOO_LONG",
Self::CharNameOnlyLetters => "CHAR_NAME_ONLY_LETTERS",
Self::CharNameMixedLanguages => "CHAR_NAME_MIXED_LANGUAGES",
Self::CharNameProfane => "CHAR_NAME_PROFANE",
Self::CharNameReserved => "CHAR_NAME_RESERVED",
Self::CharNameInvalidApostrophe => "CHAR_NAME_INVALID_APOSTROPHE",
Self::CharNameMultipleApostrophes => "CHAR_NAME_MULTIPLE_APOSTROPHES",
Self::CharNameThreeConsecutive => "CHAR_NAME_THREE_CONSECUTIVE",
Self::CharNameInvalidSpace => "CHAR_NAME_INVALID_SPACE",
Self::CharNameSuccess => "CHAR_NAME_SUCCESS",
Self::CharNameFailure => "CHAR_NAME_FAILURE",
}
}
}
const NAME: &str = "WorldResult";
impl Default for WorldResult {
fn default() -> Self {
Self::ResponseSuccess
}
}
impl std::fmt::Display for WorldResult {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::ResponseSuccess => f.write_str("ResponseSuccess"),
Self::ResponseFailure => f.write_str("ResponseFailure"),
Self::ResponseCancelled => f.write_str("ResponseCancelled"),
Self::ResponseDisconnected => f.write_str("ResponseDisconnected"),
Self::ResponseFailedToConnect => f.write_str("ResponseFailedToConnect"),
Self::ResponseConnected => f.write_str("ResponseConnected"),
Self::ResponseVersionMismatch => f.write_str("ResponseVersionMismatch"),
Self::CstatusConnecting => f.write_str("CstatusConnecting"),
Self::CstatusNegotiatingSecurity => f.write_str("CstatusNegotiatingSecurity"),
Self::CstatusNegotiationComplete => f.write_str("CstatusNegotiationComplete"),
Self::CstatusNegotiationFailed => f.write_str("CstatusNegotiationFailed"),
Self::CstatusAuthenticating => f.write_str("CstatusAuthenticating"),
Self::AuthOk => f.write_str("AuthOk"),
Self::AuthFailed => f.write_str("AuthFailed"),
Self::AuthReject => f.write_str("AuthReject"),
Self::AuthBadServerProof => f.write_str("AuthBadServerProof"),
Self::AuthUnavailable => f.write_str("AuthUnavailable"),
Self::AuthSystemError => f.write_str("AuthSystemError"),
Self::AuthBillingError => f.write_str("AuthBillingError"),
Self::AuthBillingExpired => f.write_str("AuthBillingExpired"),
Self::AuthVersionMismatch => f.write_str("AuthVersionMismatch"),
Self::AuthUnknownAccount => f.write_str("AuthUnknownAccount"),
Self::AuthIncorrectPassword => f.write_str("AuthIncorrectPassword"),
Self::AuthSessionExpired => f.write_str("AuthSessionExpired"),
Self::AuthServerShuttingDown => f.write_str("AuthServerShuttingDown"),
Self::AuthAlreadyLoggingIn => f.write_str("AuthAlreadyLoggingIn"),
Self::AuthLoginServerNotFound => f.write_str("AuthLoginServerNotFound"),
Self::AuthWaitQueue => f.write_str("AuthWaitQueue"),
Self::AuthBanned => f.write_str("AuthBanned"),
Self::AuthAlreadyOnline => f.write_str("AuthAlreadyOnline"),
Self::AuthNoTime => f.write_str("AuthNoTime"),
Self::AuthDbBusy => f.write_str("AuthDbBusy"),
Self::AuthSuspended => f.write_str("AuthSuspended"),
Self::AuthParentalControl => f.write_str("AuthParentalControl"),
Self::RealmListInProgress => f.write_str("RealmListInProgress"),
Self::RealmListSuccess => f.write_str("RealmListSuccess"),
Self::RealmListFailed => f.write_str("RealmListFailed"),
Self::RealmListInvalid => f.write_str("RealmListInvalid"),
Self::RealmListRealmNotFound => f.write_str("RealmListRealmNotFound"),
Self::AccountCreateInProgress => f.write_str("AccountCreateInProgress"),
Self::AccountCreateSuccess => f.write_str("AccountCreateSuccess"),
Self::AccountCreateFailed => f.write_str("AccountCreateFailed"),
Self::CharListRetrieving => f.write_str("CharListRetrieving"),
Self::CharListRetrieved => f.write_str("CharListRetrieved"),
Self::CharListFailed => f.write_str("CharListFailed"),
Self::CharCreateInProgress => f.write_str("CharCreateInProgress"),
Self::CharCreateSuccess => f.write_str("CharCreateSuccess"),
Self::CharCreateError => f.write_str("CharCreateError"),
Self::CharCreateFailed => f.write_str("CharCreateFailed"),
Self::CharCreateNameInUse => f.write_str("CharCreateNameInUse"),
Self::CharCreateDisabled => f.write_str("CharCreateDisabled"),
Self::CharCreatePvpTeamsViolation => f.write_str("CharCreatePvpTeamsViolation"),
Self::CharCreateServerLimit => f.write_str("CharCreateServerLimit"),
Self::CharCreateAccountLimit => f.write_str("CharCreateAccountLimit"),
Self::CharCreateServerQueue => f.write_str("CharCreateServerQueue"),
Self::CharCreateOnlyExisting => f.write_str("CharCreateOnlyExisting"),
Self::CharDeleteInProgress => f.write_str("CharDeleteInProgress"),
Self::CharDeleteSuccess => f.write_str("CharDeleteSuccess"),
Self::CharDeleteFailed => f.write_str("CharDeleteFailed"),
Self::CharDeleteFailedLockedForTransfer => f.write_str("CharDeleteFailedLockedForTransfer"),
Self::CharLoginInProgress => f.write_str("CharLoginInProgress"),
Self::CharLoginSuccess => f.write_str("CharLoginSuccess"),
Self::CharLoginNoWorld => f.write_str("CharLoginNoWorld"),
Self::CharLoginDuplicateCharacter => f.write_str("CharLoginDuplicateCharacter"),
Self::CharLoginNoInstances => f.write_str("CharLoginNoInstances"),
Self::CharLoginFailed => f.write_str("CharLoginFailed"),
Self::CharLoginDisabled => f.write_str("CharLoginDisabled"),
Self::CharLoginNoCharacter => f.write_str("CharLoginNoCharacter"),
Self::CharLoginLockedForTransfer => f.write_str("CharLoginLockedForTransfer"),
Self::CharNameNoName => f.write_str("CharNameNoName"),
Self::CharNameTooShort => f.write_str("CharNameTooShort"),
Self::CharNameTooLong => f.write_str("CharNameTooLong"),
Self::CharNameOnlyLetters => f.write_str("CharNameOnlyLetters"),
Self::CharNameMixedLanguages => f.write_str("CharNameMixedLanguages"),
Self::CharNameProfane => f.write_str("CharNameProfane"),
Self::CharNameReserved => f.write_str("CharNameReserved"),
Self::CharNameInvalidApostrophe => f.write_str("CharNameInvalidApostrophe"),
Self::CharNameMultipleApostrophes => f.write_str("CharNameMultipleApostrophes"),
Self::CharNameThreeConsecutive => f.write_str("CharNameThreeConsecutive"),
Self::CharNameInvalidSpace => f.write_str("CharNameInvalidSpace"),
Self::CharNameSuccess => f.write_str("CharNameSuccess"),
Self::CharNameFailure => f.write_str("CharNameFailure"),
}
}
}
impl TryFrom<u8> for WorldResult {
type Error = crate::errors::EnumError;
fn try_from(value: u8) -> Result<Self, Self::Error> {
Self::from_int(value)
}
}
impl TryFrom<u16> for WorldResult {
type Error = crate::errors::EnumError;
fn try_from(value: u16) -> Result<Self, Self::Error> {
TryInto::<u8>::try_into(value)
.map_err(|_| crate::errors::EnumError::new(NAME, value.into()))?
.try_into()
}
}
impl TryFrom<u32> for WorldResult {
type Error = crate::errors::EnumError;
fn try_from(value: u32) -> Result<Self, Self::Error> {
TryInto::<u8>::try_into(value)
.map_err(|_| crate::errors::EnumError::new(NAME, value.into()))?
.try_into()
}
}
impl TryFrom<u64> for WorldResult {
type Error = crate::errors::EnumError;
fn try_from(value: u64) -> Result<Self, Self::Error> {
TryInto::<u8>::try_into(value)
.map_err(|_| crate::errors::EnumError::new(NAME, value.into()))?
.try_into()
}
}
impl TryFrom<i8> for WorldResult {
type Error = crate::errors::EnumError;
fn try_from(value: i8) -> Result<Self, Self::Error> {
let v = u8::from_le_bytes(value.to_le_bytes());
Self::from_int(v)
}
}
impl TryFrom<i16> for WorldResult {
type Error = crate::errors::EnumError;
fn try_from(value: i16) -> Result<Self, Self::Error> {
TryInto::<u8>::try_into(value)
.map_err(|_| crate::errors::EnumError::new(NAME, value.into()))?
.try_into()
}
}
impl TryFrom<i32> for WorldResult {
type Error = crate::errors::EnumError;
fn try_from(value: i32) -> Result<Self, Self::Error> {
TryInto::<u8>::try_into(value)
.map_err(|_| crate::errors::EnumError::new(NAME, value.into()))?
.try_into()
}
}
impl TryFrom<i64> for WorldResult {
type Error = crate::errors::EnumError;
fn try_from(value: i64) -> Result<Self, Self::Error> {
TryInto::<u8>::try_into(value)
.map_err(|_| crate::errors::EnumError::new(NAME, value.into()))?
.try_into()
}
}
impl TryFrom<usize> for WorldResult {
type Error = crate::errors::EnumError;
fn try_from(value: usize) -> Result<Self, Self::Error> {
TryInto::<u8>::try_into(value)
.map_err(|_| crate::errors::EnumError::new(NAME, value as i128))?
.try_into()
}
}