From 91b9406f3dfe1099c0ff18d4d893544b944b8257 Mon Sep 17 00:00:00 2001 From: OptimShi <26606778+OptimShi@users.noreply.github.com> Date: Sat, 21 Dec 2024 11:32:17 -0700 Subject: [PATCH 1/7] Cleaned up properties sent on appraisal and login --- .../Enum/Properties/ClientProperties.cs | 62 - .../Enum/Properties/PositionType.cs | 1 - .../Enum/Properties/PropertyBool.cs | 340 +++--- .../Enum/Properties/PropertyDataId.cs | 249 ++-- .../Enum/Properties/PropertyFloat.cs | 403 +++---- .../Enum/Properties/PropertyInstanceId.cs | 116 +- .../ACE.Entity/Enum/Properties/PropertyInt.cs | 1070 +++++++++-------- .../Enum/Properties/PropertyInt64.cs | 47 +- .../Enum/Properties/PropertyString.cs | 180 ++- .../Enum/Properties/ServerOnlyAttribute.cs | 11 - .../Enum/Properties/ServerOnlyProperties.cs | 63 - .../Events/GameEventPlayerDescription.cs | 2 +- .../Network/Structure/AppraiseInfo.cs | 14 +- 13 files changed, 1165 insertions(+), 1393 deletions(-) delete mode 100644 Source/ACE.Entity/Enum/Properties/ClientProperties.cs delete mode 100644 Source/ACE.Entity/Enum/Properties/ServerOnlyAttribute.cs delete mode 100644 Source/ACE.Entity/Enum/Properties/ServerOnlyProperties.cs diff --git a/Source/ACE.Entity/Enum/Properties/ClientProperties.cs b/Source/ACE.Entity/Enum/Properties/ClientProperties.cs deleted file mode 100644 index d71bd81383..0000000000 --- a/Source/ACE.Entity/Enum/Properties/ClientProperties.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System.Collections.Generic; -using System.Linq; - -namespace ACE.Entity.Enum.Properties -{ - /// - /// Static selection of client enums that are NOT [ServerOnly] - /// - public static class ClientProperties - { - /// - /// Method to return a list of enums by attribute type - in this case not [ServerOnly] using generics to enhance code reuse. - /// - /// Enum to list by NOT [ServerOnly] - /// Type of the results - private static HashSet GetValues() - { - var list =typeof(T).GetFields().Select(x => new - { - att = x.GetCustomAttributes(false).OfType().FirstOrDefault(), - member = x - }).Where(x => x.att == null && x.member.Name != "value__").Select(x => (TResult)x.member.GetValue(null)).ToList(); - - return new HashSet(list); - } - - /// - /// returns a list of values for PropertyInt that are NOT [ServerOnly] - /// - public static HashSet PropertiesInt = GetValues(); - - /// - /// returns a list of values for PropertyInt that are NOT [ServerOnly] - /// - public static HashSet PropertiesInt64 = GetValues(); - - /// - /// returns a list of values for PropertyInt that are NOT [ServerOnly] - /// - public static HashSet PropertiesBool = GetValues(); - - /// - /// returns a list of values for PropertyInt that are NOT [ServerOnly] - /// - public static HashSet PropertiesString = GetValues(); - - /// - /// returns a list of values for PropertyInt that are NOT [ServerOnly] - /// - public static HashSet PropertiesDouble = GetValues(); - - /// - /// returns a list of values for PropertyInt that are NOT [ServerOnly] - /// - public static HashSet PropertiesDataId = GetValues(); - - /// - /// returns a list of values for PropertyInt that are NOT [ServerOnly] - /// - public static HashSet PropertiesInstanceId = GetValues(); - } -} diff --git a/Source/ACE.Entity/Enum/Properties/PositionType.cs b/Source/ACE.Entity/Enum/Properties/PositionType.cs index d08731fdd8..9474cb7bb0 100644 --- a/Source/ACE.Entity/Enum/Properties/PositionType.cs +++ b/Source/ACE.Entity/Enum/Properties/PositionType.cs @@ -182,7 +182,6 @@ public enum PositionType : ushort /// TeleportedCharacter = 27, - [ServerOnly] PCAPRecordedLocation = 8040 } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyBool.cs b/Source/ACE.Entity/Enum/Properties/PropertyBool.cs index d995a4a17a..54580f4c52 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyBool.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyBool.cs @@ -2,204 +2,184 @@ namespace ACE.Entity.Enum.Properties { + // No properties are sent to the client unless they featured an atribute. + // SendOnLogin gets sent to players in the PlayerDescription event + // AssessmentProperty gets sent in successful appraisal public enum PropertyBool : ushort { - // properties marked as ServerOnly are properties we never saw in PCAPs, from here: - // http://ac.yotesfan.com/ace_object/not_used_enums.php - // source: @OptimShi - // description attributes are used by the weenie editor for a cleaner display name - - Undef = 0, - [Ephemeral][ServerOnly] - Stuck = 1, + Undef = 0, + Stuck = 1, + [AssessmentProperty] [Ephemeral] - Open = 2, - Locked = 3, - RotProof = 4, - AllegianceUpdateRequest = 5, - AiUsesMana = 6, - AiUseHumanMagicAnimations = 7, - AllowGive = 8, - CurrentlyAttacking = 9, - AttackerAi = 10, - [ServerOnly] - IgnoreCollisions = 11, - [ServerOnly] - ReportCollisions = 12, - [ServerOnly] - Ethereal = 13, - [ServerOnly] - GravityStatus = 14, - [ServerOnly] - LightsStatus = 15, - [ServerOnly] - ScriptedCollision = 16, - [ServerOnly] - Inelastic = 17, - [ServerOnly][Ephemeral] - Visibility = 18, - [ServerOnly] - Attackable = 19, - SafeSpellComponents = 20, - AdvocateState = 21, - Inscribable = 22, - DestroyOnSell = 23, - UiHidden = 24, - IgnoreHouseBarriers = 25, - HiddenAdmin = 26, - PkWounder = 27, - PkKiller = 28, - NoCorpse = 29, - UnderLifestoneProtection = 30, - ItemManaUpdatePending = 31, + Open = 2, + [AssessmentProperty] + Locked = 3, + RotProof = 4, + AllegianceUpdateRequest = 5, + AiUsesMana = 6, + AiUseHumanMagicAnimations = 7, + AllowGive = 8, + CurrentlyAttacking = 9, + AttackerAi = 10, + IgnoreCollisions = 11, + ReportCollisions = 12, + Ethereal = 13, + GravityStatus = 14, + LightsStatus = 15, + ScriptedCollision = 16, + Inelastic = 17, + Visibility = 18, + Attackable = 19, + SafeSpellComponents = 20, + [SendOnLogin] + AdvocateState = 21, + Inscribable = 22, + DestroyOnSell = 23, + UiHidden = 24, + IgnoreHouseBarriers = 25, + HiddenAdmin = 26, + PkWounder = 27, + PkKiller = 28, + NoCorpse = 29, + UnderLifestoneProtection = 30, + ItemManaUpdatePending = 31, [Ephemeral] - GeneratorStatus = 32, + GeneratorStatus = 32, [Ephemeral] - ResetMessagePending = 33, - DefaultOpen = 34, - DefaultLocked = 35, - DefaultOn = 36, - OpenForBusiness = 37, - IsFrozen = 38, - DealMagicalItems = 39, - LogoffImDead = 40, - ReportCollisionsAsEnvironment = 41, - AllowEdgeSlide = 42, - AdvocateQuest = 43, - [Ephemeral][SendOnLogin] - IsAdmin = 44, - [Ephemeral][SendOnLogin] - IsArch = 45, - [Ephemeral][SendOnLogin] - IsSentinel = 46, + ResetMessagePending = 33, + DefaultOpen = 34, + DefaultLocked = 35, + DefaultOn = 36, + OpenForBusiness = 37, + IsFrozen = 38, + DealMagicalItems = 39, + LogoffImDead = 40, + ReportCollisionsAsEnvironment = 41, + AllowEdgeSlide = 42, + AdvocateQuest = 43, + [SendOnLogin] + IsAdmin = 44, + [SendOnLogin] + IsArch = 45, + [SendOnLogin] + IsSentinel = 46, [SendOnLogin] - IsAdvocate = 47, - CurrentlyPoweringUp = 48, + IsAdvocate = 47, + CurrentlyPoweringUp = 48, [Ephemeral] - GeneratorEnteredWorld = 49, - NeverFailCasting = 50, - VendorService = 51, - AiImmobile = 52, - DamagedByCollisions = 53, - IsDynamic = 54, - IsHot = 55, - IsAffecting = 56, - AffectsAis = 57, - SpellQueueActive = 58, + GeneratorEnteredWorld = 49, + NeverFailCasting = 50, + VendorService = 51, + AiImmobile = 52, + DamagedByCollisions = 53, + IsDynamic = 54, + IsHot = 55, + IsAffecting = 56, + AffectsAis = 57, + SpellQueueActive = 58, [Ephemeral] - GeneratorDisabled = 59, - IsAcceptingTells = 60, - LoggingChannel = 61, - OpensAnyLock = 62, - UnlimitedUse = 63, - GeneratedTreasureItem = 64, - IgnoreMagicResist = 65, - IgnoreMagicArmor = 66, - AiAllowTrade = 67, + GeneratorDisabled = 59, + IsAcceptingTells = 60, + LoggingChannel = 61, + OpensAnyLock = 62, + [AssessmentProperty] + UnlimitedUse = 63, + GeneratedTreasureItem = 64, + IgnoreMagicResist = 65, + IgnoreMagicArmor = 66, + AiAllowTrade = 67, [SendOnLogin] - SpellComponentsRequired = 68, - IsSellable = 69, - IgnoreShieldsBySkill = 70, - NoDraw = 71, - ActivationUntargeted = 72, - HouseHasGottenPriorityBootPos = 73, + SpellComponentsRequired = 68, + [AssessmentProperty] + IsSellable = 69, + IgnoreShieldsBySkill = 70, + NoDraw = 71, + ActivationUntargeted = 72, + HouseHasGottenPriorityBootPos = 73, [Ephemeral] - GeneratorAutomaticDestruction = 74, - HouseHooksVisible = 75, - HouseRequiresMonarch = 76, - HouseHooksEnabled = 77, - HouseNotifiedHudOfHookCount = 78, - AiAcceptEverything = 79, - IgnorePortalRestrictions = 80, - RequiresBackpackSlot = 81, - DontTurnOrMoveWhenGiving = 82, - [ServerOnly] - NpcLooksLikeObject = 83, - IgnoreCloIcons = 84, - AppraisalHasAllowedWielder = 85, - ChestRegenOnClose = 86, - LogoffInMinigame = 87, - PortalShowDestination = 88, - PortalIgnoresPkAttackTimer = 89, - NpcInteractsSilently = 90, - Retained = 91, - IgnoreAuthor = 92, - Limbo = 93, - AppraisalHasAllowedActivator = 94, + GeneratorAutomaticDestruction = 74, + HouseHooksVisible = 75, + HouseRequiresMonarch = 76, + HouseHooksEnabled = 77, + HouseNotifiedHudOfHookCount = 78, + AiAcceptEverything = 79, + IgnorePortalRestrictions = 80, + RequiresBackpackSlot = 81, + DontTurnOrMoveWhenGiving = 82, + NpcLooksLikeObject = 83, + IgnoreCloIcons = 84, + [AssessmentProperty] + AppraisalHasAllowedWielder = 85, + ChestRegenOnClose = 86, + LogoffInMinigame = 87, + PortalShowDestination = 88, + PortalIgnoresPkAttackTimer = 89, + NpcInteractsSilently = 90, + [AssessmentProperty] + Retained = 91, + IgnoreAuthor = 92, + Limbo = 93, + [AssessmentProperty] + AppraisalHasAllowedActivator = 94, ExistedBeforeAllegianceXpChanges = 95, - IsDeaf = 96, - [Ephemeral][SendOnLogin] - IsPsr = 97, - Invincible = 98, - Ivoryable = 99, - Dyable = 100, - CanGenerateRare = 101, - CorpseGeneratedRare = 102, - NonProjectileMagicImmune = 103, + IsDeaf = 96, [SendOnLogin] - ActdReceivedItems = 104, - Unknown105 = 105, + IsPsr = 97, + Invincible = 98, + [AssessmentProperty] + Ivoryable = 99, + [AssessmentProperty] + Dyable = 100, + CanGenerateRare = 101, + CorpseGeneratedRare = 102, + NonProjectileMagicImmune = 103, + [SendOnLogin] + ActdReceivedItems = 104, + Unknown105 = 105, [Ephemeral] - FirstEnterWorldDone = 106, - RecallsDisabled = 107, - RareUsesTimer = 108, - ActdPreorderReceivedItems = 109, + FirstEnterWorldDone = 106, + RecallsDisabled = 107, + [AssessmentProperty] + RareUsesTimer = 108, + ActdPreorderReceivedItems = 109, [Ephemeral] - Afk = 110, - IsGagged = 111, - ProcSpellSelfTargeted = 112, - IsAllegianceGagged = 113, - EquipmentSetTriggerPiece = 114, - Uninscribe = 115, - WieldOnUse = 116, - ChestClearedWhenClosed = 117, - NeverAttack = 118, - SuppressGenerateEffect = 119, - TreasureCorpse = 120, - EquipmentSetAddLevel = 121, - BarberActive = 122, - TopLayerPriority = 123, - [SendOnLogin] - NoHeldItemShown = 124, + Afk = 110, + IsGagged = 111, + ProcSpellSelfTargeted = 112, + IsAllegianceGagged = 113, + EquipmentSetTriggerPiece = 114, + Uninscribe = 115, + WieldOnUse = 116, + ChestClearedWhenClosed = 117, + NeverAttack = 118, + SuppressGenerateEffect = 119, + TreasureCorpse = 120, + EquipmentSetAddLevel = 121, + BarberActive = 122, + TopLayerPriority = 123, [SendOnLogin] - LoginAtLifestone = 125, - OlthoiPk = 126, + NoHeldItemShown = 124, [SendOnLogin] - Account15Days = 127, - HadNoVitae = 128, + LoginAtLifestone = 125, + OlthoiPk = 126, [SendOnLogin] - NoOlthoiTalk = 129, - AutowieldLeft = 130, + Account15Days = 127, + HadNoVitae = 128, + NoOlthoiTalk = 129, + [AssessmentProperty] + AutowieldLeft = 130, - /* custom */ - [ServerOnly] - LinkedPortalOneSummon = 9001, - [ServerOnly] - LinkedPortalTwoSummon = 9002, - [ServerOnly] - HouseEvicted = 9003, - [ServerOnly] - UntrainedSkills = 9004, - [Ephemeral][ServerOnly] - IsEnvoy = 9005, - [ServerOnly] - UnspecializedSkills = 9006, - [ServerOnly] - FreeSkillResetRenewed = 9007, - [ServerOnly] - FreeAttributeResetRenewed = 9008, - [ServerOnly] - SkillTemplesTimerReset = 9009, - [ServerOnly] - FreeMasteryResetRenewed = 9010, - } + /* Custom Properties */ + LinkedPortalOneSummon = 9001, + LinkedPortalTwoSummon = 9002, + HouseEvicted = 9003, + UntrainedSkills = 9004, + IsEnvoy = 9005, + UnspecializedSkills = 9006, + FreeSkillResetRenewed = 9007, + FreeAttributeResetRenewed = 9008, + SkillTemplesTimerReset = 9009, + FreeMasteryResetRenewed = 9010, - public static class PropertyBoolExtensions - { - public static string GetDescription(this PropertyBool prop) - { - var description = prop.GetAttributeOfType(); - return description?.Description ?? prop.ToString(); - } } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs b/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs index 581daad3ac..cd5de54f3f 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs @@ -2,188 +2,105 @@ namespace ACE.Entity.Enum.Properties { + // No properties are sent to the client unless they featured an atribute. + // SendOnLogin gets sent to players in the PlayerDescription event + // AssessmentProperty gets sent in successful appraisal public enum PropertyDataId : ushort { - // properties marked as ServerOnly are properties we never saw in PCAPs, from here: - // http://ac.yotesfan.com/ace_object/not_used_enums.php - // source: @OptimShi - // description attributes are used by the weenie editor for a cleaner display name - - [ServerOnly] - Undef = 0, - [ServerOnly] - Setup = 1, + Undef = 0, + Setup = 1, [SendOnLogin] - MotionTable = 2, - [ServerOnly] - SoundTable = 3, + MotionTable = 2, + SoundTable = 3, [SendOnLogin] - CombatTable = 4, - [ServerOnly] - QualityFilter = 5, - [ServerOnly] - PaletteBase = 6, - [ServerOnly] - ClothingBase = 7, - [ServerOnly] - Icon = 8, + CombatTable = 4, + QualityFilter = 5, + PaletteBase = 6, + ClothingBase = 7, + Icon = 8, + [AssessmentProperty] + EyesTexture = 9, [AssessmentProperty] - EyesTexture = 9, + NoseTexture = 10, [AssessmentProperty] - NoseTexture = 10, + MouthTexture = 11, + DefaultEyesTexture = 12, + DefaultNoseTexture = 13, + DefaultMouthTexture = 14, [AssessmentProperty] - MouthTexture = 11, - [ServerOnly] - DefaultEyesTexture = 12, - [ServerOnly] - DefaultNoseTexture = 13, - [ServerOnly] - DefaultMouthTexture = 14, + HairPalette = 15, [AssessmentProperty] - HairPalette = 15, + EyesPalette = 16, [AssessmentProperty] - EyesPalette = 16, + SkinPalette = 17, + HeadObject = 18, + ActivationAnimation = 19, + InitMotion = 20, + ActivationSound = 21, + PhysicsEffectTable = 22, + UseSound = 23, + UseTargetAnimation = 24, + UseTargetSuccessAnimation = 25, + UseTargetFailureAnimation = 26, + UseUserAnimation = 27, + Spell = 28, + SpellComponent = 29, + PhysicsScript = 30, + LinkedPortalOne = 31, + WieldedTreasureType = 32, + InventoryTreasureType = 33, + ShopTreasureType = 34, + DeathTreasureType = 35, + MutateFilter = 36, + ItemSkillLimit = 37, + UseCreateItem = 38, + DeathSpell = 39, + VendorsClassId = 40, [AssessmentProperty] - SkinPalette = 17, - [ServerOnly] - HeadObject = 18, - [ServerOnly] - ActivationAnimation = 19, - [ServerOnly] - InitMotion = 20, - [ServerOnly] - ActivationSound = 21, - [ServerOnly] - PhysicsEffectTable = 22, - [ServerOnly] - UseSound = 23, - [ServerOnly] - UseTargetAnimation = 24, - [ServerOnly] - UseTargetSuccessAnimation = 25, - [ServerOnly] - UseTargetFailureAnimation = 26, - [ServerOnly] - UseUserAnimation = 27, - [ServerOnly] - Spell = 28, - [ServerOnly] - SpellComponent = 29, - [ServerOnly] - PhysicsScript = 30, - [ServerOnly] - LinkedPortalOne = 31, - [ServerOnly] - WieldedTreasureType = 32, - [ServerOnly] - InventoryTreasureType = 33, - [ServerOnly] - ShopTreasureType = 34, - [ServerOnly] - DeathTreasureType = 35, - [ServerOnly] - MutateFilter = 36, - [ServerOnly] - ItemSkillLimit = 37, - [ServerOnly] - UseCreateItem = 38, - [ServerOnly] - DeathSpell = 39, - [ServerOnly] - VendorsClassId = 40, - [ServerOnly] - ItemSpecializedOnly = 41, - [ServerOnly] - HouseId = 42, - [ServerOnly] - AccountHouseId = 43, - [ServerOnly] - RestrictionEffect = 44, - [ServerOnly] - CreationMutationFilter = 45, - [ServerOnly] - TsysMutationFilter = 46, - [ServerOnly] - LastPortal = 47, - [ServerOnly] - LinkedPortalTwo = 48, - [ServerOnly] - OriginalPortal = 49, - [ServerOnly] - IconOverlay = 50, - [ServerOnly] - IconOverlaySecondary = 51, - [ServerOnly] - IconUnderlay = 52, - [ServerOnly] + ItemSpecializedOnly = 41, + HouseId = 42, + AccountHouseId = 43, + RestrictionEffect = 44, + CreationMutationFilter = 45, + TsysMutationFilter = 46, + LastPortal = 47, + LinkedPortalTwo = 48, + OriginalPortal = 49, + IconOverlay = 50, + IconOverlaySecondary = 51, + IconUnderlay = 52, AugmentationMutationFilter = 53, - [ServerOnly] - AugmentationEffect = 54, - ProcSpell = 55, - [ServerOnly] - AugmentationCreateItem = 56, - [ServerOnly] - AlternateCurrency = 57, - [ServerOnly] - BlueSurgeSpell = 58, - [ServerOnly] - YellowSurgeSpell = 59, - [ServerOnly] - RedSurgeSpell = 60, - [ServerOnly] - OlthoiDeathTreasureType = 61, - - [ServerOnly] - PCAPRecordedWeenieHeader = 8001, - [ServerOnly] - PCAPRecordedWeenieHeader2 = 8002, - [ServerOnly] - PCAPRecordedObjectDesc = 8003, - [ServerOnly] - PCAPRecordedPhysicsDesc = 8005, - [ServerOnly] - PCAPRecordedParentLocation = 8009, - [ServerOnly] - PCAPRecordedDefaultScript = 8019, - [ServerOnly] - PCAPRecordedTimestamp0 = 8020, - [ServerOnly] - PCAPRecordedTimestamp1 = 8021, - [ServerOnly] - PCAPRecordedTimestamp2 = 8022, - [ServerOnly] - PCAPRecordedTimestamp3 = 8023, - [ServerOnly] - PCAPRecordedTimestamp4 = 8024, - [ServerOnly] - PCAPRecordedTimestamp5 = 8025, - [ServerOnly] - PCAPRecordedTimestamp6 = 8026, - [ServerOnly] - PCAPRecordedTimestamp7 = 8027, - [ServerOnly] - PCAPRecordedTimestamp8 = 8028, - [ServerOnly] - PCAPRecordedTimestamp9 = 8029, - [ServerOnly] + AugmentationEffect = 54, + [AssessmentProperty] + ProcSpell = 55, + AugmentationCreateItem = 56, + AlternateCurrency = 57, + BlueSurgeSpell = 58, + YellowSurgeSpell = 59, + RedSurgeSpell = 60, + OlthoiDeathTreasureType = 61, + PCAPRecordedWeenieHeader = 8001, + PCAPRecordedWeenieHeader2 = 8002, + PCAPRecordedObjectDesc = 8003, + PCAPRecordedPhysicsDesc = 8005, + PCAPRecordedParentLocation = 8009, + PCAPRecordedDefaultScript = 8019, + PCAPRecordedTimestamp0 = 8020, + PCAPRecordedTimestamp1 = 8021, + PCAPRecordedTimestamp2 = 8022, + PCAPRecordedTimestamp3 = 8023, + PCAPRecordedTimestamp4 = 8024, + PCAPRecordedTimestamp5 = 8025, + PCAPRecordedTimestamp6 = 8026, + PCAPRecordedTimestamp7 = 8027, + PCAPRecordedTimestamp8 = 8028, + PCAPRecordedTimestamp9 = 8029, PCAPRecordedMaxVelocityEstimated = 8030, - [ServerOnly] - PCAPPhysicsDIDDataTemplatedFrom = 8044 - - //[ServerOnly] - //HairTexture = 9001, - //[ServerOnly] - //DefaultHairTexture = 9002, + PCAPPhysicsDIDDataTemplatedFrom = 8044, } public static class PropertyDataIdExtensions { - public static string GetDescription(this PropertyDataId prop) - { - var description = prop.GetAttributeOfType(); - return description?.Description ?? prop.ToString(); - } - public static string GetValueEnumName(this PropertyDataId property, uint value) { switch (property) diff --git a/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs b/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs index 59847a4472..e2dc0e9144 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs @@ -2,229 +2,224 @@ namespace ACE.Entity.Enum.Properties { + // No properties are sent to the client unless they featured an atribute. + // SendOnLogin gets sent to players in the PlayerDescription event + // AssessmentProperty gets sent in successful appraisal public enum PropertyFloat : ushort { - // properties marked as ServerOnly are properties we never saw in PCAPs, from here: - // http://ac.yotesfan.com/ace_object/not_used_enums.php - // source: @OptimShi - // description attributes are used by the weenie editor for a cleaner display name - - Undef = 0, - HeartbeatInterval = 1, + Undef = 0, + HeartbeatInterval = 1, [Ephemeral] - HeartbeatTimestamp = 2, - HealthRate = 3, - StaminaRate = 4, - ManaRate = 5, - HealthUponResurrection = 6, - StaminaUponResurrection = 7, - ManaUponResurrection = 8, - StartTime = 9, - StopTime = 10, - ResetInterval = 11, - Shade = 12, - ArmorModVsSlash = 13, - ArmorModVsPierce = 14, - ArmorModVsBludgeon = 15, - ArmorModVsCold = 16, - ArmorModVsFire = 17, - ArmorModVsAcid = 18, - ArmorModVsElectric = 19, - CombatSpeed = 20, - WeaponLength = 21, - DamageVariance = 22, - CurrentPowerMod = 23, - AccuracyMod = 24, - StrengthMod = 25, - MaximumVelocity = 26, - RotationSpeed = 27, - MotionTimestamp = 28, - WeaponDefense = 29, - WimpyLevel = 30, - VisualAwarenessRange = 31, - AuralAwarenessRange = 32, - PerceptionLevel = 33, - PowerupTime = 34, - MaxChargeDistance = 35, - ChargeSpeed = 36, - BuyPrice = 37, - SellPrice = 38, - DefaultScale = 39, - LockpickMod = 40, - RegenerationInterval = 41, - RegenerationTimestamp = 42, - GeneratorRadius = 43, - TimeToRot = 44, - DeathTimestamp = 45, - PkTimestamp = 46, - VictimTimestamp = 47, - LoginTimestamp = 48, - CreationTimestamp = 49, - MinimumTimeSincePk = 50, + HeartbeatTimestamp = 2, + HealthRate = 3, + StaminaRate = 4, + [AssessmentProperty] + ManaRate = 5, + HealthUponResurrection = 6, + StaminaUponResurrection = 7, + ManaUponResurrection = 8, + StartTime = 9, + StopTime = 10, + ResetInterval = 11, + Shade = 12, + ArmorModVsSlash = 13, + ArmorModVsPierce = 14, + ArmorModVsBludgeon = 15, + ArmorModVsCold = 16, + ArmorModVsFire = 17, + ArmorModVsAcid = 18, + ArmorModVsElectric = 19, + CombatSpeed = 20, + WeaponLength = 21, + DamageVariance = 22, + CurrentPowerMod = 23, + AccuracyMod = 24, + StrengthMod = 25, + MaximumVelocity = 26, + RotationSpeed = 27, + MotionTimestamp = 28, + [AssessmentProperty] + WeaponDefense = 29, + WimpyLevel = 30, + VisualAwarenessRange = 31, + AuralAwarenessRange = 32, + PerceptionLevel = 33, + PowerupTime = 34, + MaxChargeDistance = 35, + ChargeSpeed = 36, + BuyPrice = 37, + SellPrice = 38, + DefaultScale = 39, + LockpickMod = 40, + RegenerationInterval = 41, + RegenerationTimestamp = 42, + GeneratorRadius = 43, + TimeToRot = 44, + DeathTimestamp = 45, + PkTimestamp = 46, + VictimTimestamp = 47, + LoginTimestamp = 48, + CreationTimestamp = 49, + MinimumTimeSincePk = 50, DeprecatedHousekeepingPriority = 51, - AbuseLoggingTimestamp = 52, + AbuseLoggingTimestamp = 52, [Ephemeral] - LastPortalTeleportTimestamp = 53, - UseRadius = 54, - HomeRadius = 55, - ReleasedTimestamp = 56, - MinHomeRadius = 57, - Facing = 58, + LastPortalTeleportTimestamp = 53, + UseRadius = 54, + HomeRadius = 55, + ReleasedTimestamp = 56, + MinHomeRadius = 57, + Facing = 58, [Ephemeral] - ResetTimestamp = 59, - LogoffTimestamp = 60, - EconRecoveryInterval = 61, - WeaponOffense = 62, - DamageMod = 63, - ResistSlash = 64, - ResistPierce = 65, - ResistBludgeon = 66, - ResistFire = 67, - ResistCold = 68, - ResistAcid = 69, - ResistElectric = 70, - ResistHealthBoost = 71, - ResistStaminaDrain = 72, - ResistStaminaBoost = 73, - ResistManaDrain = 74, - ResistManaBoost = 75, - Translucency = 76, - PhysicsScriptIntensity = 77, - Friction = 78, - Elasticity = 79, - AiUseMagicDelay = 80, - ItemMinSpellcraftMod = 81, - ItemMaxSpellcraftMod = 82, - ItemRankProbability = 83, - Shade2 = 84, - Shade3 = 85, - Shade4 = 86, - ItemEfficiency = 87, - ItemManaUpdateTimestamp = 88, - SpellGestureSpeedMod = 89, - SpellStanceSpeedMod = 90, - AllegianceAppraisalTimestamp = 91, - PowerLevel = 92, - AccuracyLevel = 93, - AttackAngle = 94, - AttackTimestamp = 95, - CheckpointTimestamp = 96, - SoldTimestamp = 97, - UseTimestamp = 98, + ResetTimestamp = 59, + LogoffTimestamp = 60, + EconRecoveryInterval = 61, + WeaponOffense = 62, + DamageMod = 63, + ResistSlash = 64, + ResistPierce = 65, + ResistBludgeon = 66, + ResistFire = 67, + ResistCold = 68, + ResistAcid = 69, + ResistElectric = 70, + ResistHealthBoost = 71, + ResistStaminaDrain = 72, + ResistStaminaBoost = 73, + ResistManaDrain = 74, + ResistManaBoost = 75, + Translucency = 76, + PhysicsScriptIntensity = 77, + Friction = 78, + Elasticity = 79, + AiUseMagicDelay = 80, + ItemMinSpellcraftMod = 81, + ItemMaxSpellcraftMod = 82, + ItemRankProbability = 83, + Shade2 = 84, + Shade3 = 85, + Shade4 = 86, + [AssessmentProperty] + ItemEfficiency = 87, + ItemManaUpdateTimestamp = 88, + SpellGestureSpeedMod = 89, + SpellStanceSpeedMod = 90, + AllegianceAppraisalTimestamp = 91, + PowerLevel = 92, + AccuracyLevel = 93, + AttackAngle = 94, + AttackTimestamp = 95, + CheckpointTimestamp = 96, + SoldTimestamp = 97, + UseTimestamp = 98, [Ephemeral] - UseLockTimestamp = 99, - HealkitMod = 100, - FrozenTimestamp = 101, - HealthRateMod = 102, - AllegianceSwearTimestamp = 103, - ObviousRadarRange = 104, - HotspotCycleTime = 105, - HotspotCycleTimeVariance = 106, - SpamTimestamp = 107, - SpamRate = 108, - BondWieldedTreasure = 109, - BulkMod = 110, - SizeMod = 111, - GagTimestamp = 112, - GeneratorUpdateTimestamp = 113, - DeathSpamTimestamp = 114, - DeathSpamRate = 115, - WildAttackProbability = 116, - FocusedProbability = 117, - CrashAndTurnProbability = 118, - CrashAndTurnRadius = 119, - CrashAndTurnBias = 120, - GeneratorInitialDelay = 121, - AiAcquireHealth = 122, - AiAcquireStamina = 123, - AiAcquireMana = 124, + UseLockTimestamp = 99, + [AssessmentProperty] + HealkitMod = 100, + FrozenTimestamp = 101, + HealthRateMod = 102, + AllegianceSwearTimestamp = 103, + ObviousRadarRange = 104, + HotspotCycleTime = 105, + HotspotCycleTimeVariance = 106, + SpamTimestamp = 107, + SpamRate = 108, + BondWieldedTreasure = 109, + BulkMod = 110, + SizeMod = 111, + GagTimestamp = 112, + GeneratorUpdateTimestamp = 113, + DeathSpamTimestamp = 114, + DeathSpamRate = 115, + WildAttackProbability = 116, + FocusedProbability = 117, + CrashAndTurnProbability = 118, + CrashAndTurnRadius = 119, + CrashAndTurnBias = 120, + GeneratorInitialDelay = 121, + AiAcquireHealth = 122, + AiAcquireStamina = 123, + AiAcquireMana = 124, /// /// this had a default of "1" - leaving comment to investigate potential options for defaulting these things (125) /// [SendOnLogin] - ResistHealthDrain = 125, - LifestoneProtectionTimestamp = 126, - AiCounteractEnchantment = 127, - AiDispelEnchantment = 128, - TradeTimestamp = 129, - AiTargetedDetectionRadius = 130, - EmotePriority = 131, + ResistHealthDrain = 125, + LifestoneProtectionTimestamp = 126, + AiCounteractEnchantment = 127, + AiDispelEnchantment = 128, + TradeTimestamp = 129, + AiTargetedDetectionRadius = 130, + EmotePriority = 131, [Ephemeral] - LastTeleportStartTimestamp = 132, - EventSpamTimestamp = 133, - EventSpamRate = 134, - InventoryOffset = 135, - CriticalMultiplier = 136, - ManaStoneDestroyChance = 137, - SlayerDamageBonus = 138, - AllegianceInfoSpamTimestamp = 139, - AllegianceInfoSpamRate = 140, - NextSpellcastTimestamp = 141, + LastTeleportStartTimestamp = 132, + EventSpamTimestamp = 133, + EventSpamRate = 134, + InventoryOffset = 135, + [AssessmentProperty] + CriticalMultiplier = 136, + [AssessmentProperty] + ManaStoneDestroyChance = 137, + SlayerDamageBonus = 138, + AllegianceInfoSpamTimestamp = 139, + AllegianceInfoSpamRate = 140, + NextSpellcastTimestamp = 141, [Ephemeral] - AppraisalRequestedTimestamp = 142, + AppraisalRequestedTimestamp = 142, AppraisalHeartbeatDueTimestamp = 143, - ManaConversionMod = 144, - LastPkAttackTimestamp = 145, - FellowshipUpdateTimestamp = 146, - CriticalFrequency = 147, - LimboStartTimestamp = 148, - WeaponMissileDefense = 149, - WeaponMagicDefense = 150, - IgnoreShield = 151, - ElementalDamageMod = 152, - StartMissileAttackTimestamp = 153, - LastRareUsedTimestamp = 154, - IgnoreArmor = 155, - ProcSpellRate = 156, - ResistanceModifier = 157, - AllegianceGagTimestamp = 158, - AbsorbMagicDamage = 159, - CachedMaxAbsorbMagicDamage = 160, - GagDuration = 161, - AllegianceGagDuration = 162, + [AssessmentProperty] + ManaConversionMod = 144, + LastPkAttackTimestamp = 145, + FellowshipUpdateTimestamp = 146, + [AssessmentProperty] + CriticalFrequency = 147, + LimboStartTimestamp = 148, + [AssessmentProperty] + WeaponMissileDefense = 149, + [AssessmentProperty] + WeaponMagicDefense = 150, + IgnoreShield = 151, + [AssessmentProperty] + ElementalDamageMod = 152, + StartMissileAttackTimestamp = 153, + LastRareUsedTimestamp = 154, + [AssessmentProperty] + IgnoreArmor = 155, + ProcSpellRate = 156, + [AssessmentProperty] + ResistanceModifier = 157, + AllegianceGagTimestamp = 158, + [AssessmentProperty] + AbsorbMagicDamage = 159, + CachedMaxAbsorbMagicDamage = 160, + GagDuration = 161, + AllegianceGagDuration = 162, [SendOnLogin] - GlobalXpMod = 163, - HealingModifier = 164, - ArmorModVsNether = 165, - ResistNether = 166, - CooldownDuration = 167, + GlobalXpMod = 163, + HealingModifier = 164, + ArmorModVsNether = 165, + ResistNether = 166, + [AssessmentProperty] + CooldownDuration = 167, [SendOnLogin] - WeaponAuraOffense = 168, + WeaponAuraOffense = 168, [SendOnLogin] - WeaponAuraDefense = 169, + WeaponAuraDefense = 169, [SendOnLogin] - WeaponAuraElemental = 170, + WeaponAuraElemental = 170, [SendOnLogin] - WeaponAuraManaConv = 171, - - [ServerOnly] - PCAPRecordedWorkmanship = 8004, - [ServerOnly] - PCAPRecordedVelocityX = 8010, - [ServerOnly] - PCAPRecordedVelocityY = 8011, - [ServerOnly] - PCAPRecordedVelocityZ = 8012, - [ServerOnly] - PCAPRecordedAccelerationX = 8013, - [ServerOnly] - PCAPRecordedAccelerationY = 8014, - [ServerOnly] - PCAPRecordedAccelerationZ = 8015, - [ServerOnly] - PCAPRecordeOmegaX = 8016, - [ServerOnly] - PCAPRecordeOmegaY = 8017, - [ServerOnly] - PCAPRecordeOmegaZ = 8018 - } + WeaponAuraManaConv = 171, - public static class PropertyFloatExtensions - { - public static string GetDescription(this PropertyFloat prop) - { - var description = prop.GetAttributeOfType(); - return description?.Description ?? prop.ToString(); - } + /* Custom */ + PCAPRecordedWorkmanship = 8004, + PCAPRecordedVelocityX = 8010, + PCAPRecordedVelocityY = 8011, + PCAPRecordedVelocityZ = 8012, + PCAPRecordedAccelerationX = 8013, + PCAPRecordedAccelerationY = 8014, + PCAPRecordedAccelerationZ = 8015, + PCAPRecordeOmegaX = 8016, + PCAPRecordeOmegaY = 8017, + PCAPRecordeOmegaZ = 8018, } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs b/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs index 0bb169f942..395af688c2 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs @@ -2,91 +2,75 @@ namespace ACE.Entity.Enum.Properties { + // No properties are sent to the client unless they featured an atribute. + // SendOnLogin gets sent to players in the PlayerDescription event + // AssessmentProperty gets sent in successful appraisal public enum PropertyInstanceId : ushort { - // properties marked as ServerOnly are properties we never saw in PCAPs, from here: - // http://ac.yotesfan.com/ace_object/not_used_enums.php - // source: @OptimShi - - // description attributes are used by the weenie editor for a cleaner display name - - Undef = 0, - Owner = 1, - Container = 2, - Wielder = 3, - Freezer = 4, + Owner = 1, + Container = 2, + Wielder = 3, + Freezer = 4, [Ephemeral] - Viewer = 5, + Viewer = 5, [Ephemeral] - Generator = 6, - Scribe = 7, + Generator = 6, + Scribe = 7, [Ephemeral] - CurrentCombatTarget = 8, + CurrentCombatTarget = 8, [Ephemeral] - CurrentEnemy = 9, - ProjectileLauncher = 10, + CurrentEnemy = 9, + ProjectileLauncher = 10, [Ephemeral] - CurrentAttacker = 11, + CurrentAttacker = 11, [Ephemeral] - CurrentDamager = 12, + CurrentDamager = 12, [Ephemeral] - CurrentFollowTarget = 13, + CurrentFollowTarget = 13, [Ephemeral] - CurrentAppraisalTarget = 14, + CurrentAppraisalTarget = 14, [Ephemeral] CurrentFellowshipAppraisalTarget = 15, - ActivationTarget = 16, - Creator = 17, - Victim = 18, - Killer = 19, - Vendor = 20, - Customer = 21, - Bonded = 22, - Wounder = 23, + ActivationTarget = 16, + Creator = 17, + Victim = 18, + Killer = 19, + Vendor = 20, + Customer = 21, + Bonded = 22, + Wounder = 23, [SendOnLogin] - Allegiance = 24, + Allegiance = 24, [SendOnLogin] - Patron = 25, - Monarch = 26, + Patron = 25, + Monarch = 26, [Ephemeral] - CombatTarget = 27, + CombatTarget = 27, [Ephemeral] - HealthQueryTarget = 28, - [ServerOnly][Ephemeral] - LastUnlocker = 29, - CrashAndTurnTarget = 30, - AllowedActivator = 31, - HouseOwner = 32, - House = 33, - Slumlord = 34, + HealthQueryTarget = 28, + LastUnlocker = 29, + CrashAndTurnTarget = 30, + AllowedActivator = 31, + HouseOwner = 32, + House = 33, + Slumlord = 34, [Ephemeral] - ManaQueryTarget = 35, - CurrentGame = 36, + ManaQueryTarget = 35, + CurrentGame = 36, [Ephemeral] - RequestedAppraisalTarget = 37, - AllowedWielder = 38, - AssignedTarget = 39, - LimboSource = 40, - Snooper = 41, - TeleportedCharacter = 42, - [ServerOnly][Ephemeral] - Pet = 43, - PetOwner = 44, - [ServerOnly][Ephemeral] - PetDevice = 45, + RequestedAppraisalTarget = 37, + AllowedWielder = 38, + AssignedTarget = 39, + LimboSource = 40, + Snooper = 41, + TeleportedCharacter = 42, + Pet = 43, + PetOwner = 44, + PetDevice = 45, - [ServerOnly] - PCAPRecordedObjectIID = 8000, - [ServerOnly] - PCAPRecordedParentIID = 8008 - } + /* Custom */ + PCAPRecordedObjectIID = 8000, + PCAPRecordedParentIID = 8008, - public static class PropertyInstanceIdExtensions - { - public static string GetDescription(this PropertyInstanceId prop) - { - var description = prop.GetAttributeOfType(); - return description?.Description ?? prop.ToString(); - } } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs index 12c1173a72..12425036cb 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs @@ -4,641 +4,695 @@ namespace ACE.Entity.Enum.Properties { + // No properties are sent to the client unless they featured an atribute. + // SendOnLogin gets sent to players in the PlayerDescription event + // AssessmentProperty gets sent in successful appraisal public enum PropertyInt : ushort { - // properties marked as ServerOnly are properties we never saw in PCAPs, from here: - // http://ac.yotesfan.com/ace_object/not_used_enums.php - // source: @OptimShi - // description attributes are used by the weenie editor for a cleaner display name - - Undef = 0, - [ServerOnly] - ItemType = 1, - CreatureType = 2, - [ServerOnly] - PaletteTemplate = 3, - ClothingPriority = 4, - [SendOnLogin] - EncumbranceVal = 5, // ENCUMB_VAL_INT, - [SendOnLogin] - ItemsCapacity = 6, - [SendOnLogin] - ContainersCapacity = 7, - [ServerOnly] - Mass = 8, - [ServerOnly] - ValidLocations = 9, // LOCATIONS_INT - [ServerOnly] - CurrentWieldedLocation = 10, - [ServerOnly] - MaxStackSize = 11, - [ServerOnly] - StackSize = 12, - [ServerOnly] - StackUnitEncumbrance = 13, - [ServerOnly] - StackUnitMass = 14, - [ServerOnly] - StackUnitValue = 15, - [ServerOnly] - ItemUseable = 16, - RareId = 17, - [ServerOnly] - UiEffects = 18, - Value = 19, - [Ephemeral][SendOnLogin] - CoinValue = 20, - TotalExperience = 21, - AvailableCharacter = 22, - TotalSkillCredits = 23, - [SendOnLogin] - AvailableSkillCredits = 24, - [SendOnLogin] - Level = 25, - AccountRequirements = 26, - ArmorType = 27, - ArmorLevel = 28, - AllegianceCpPool = 29, - [SendOnLogin] - AllegianceRank = 30, - ChannelsAllowed = 31, - ChannelsActive = 32, - Bonded = 33, - MonarchsRank = 34, - AllegianceFollowers = 35, - ResistMagic = 36, - ResistItemAppraisal = 37, - ResistLockpick = 38, - DeprecatedResistRepair = 39, - [SendOnLogin] - CombatMode = 40, - CurrentAttackHeight = 41, - CombatCollisions = 42, - [SendOnLogin] - NumDeaths = 43, - Damage = 44, - DamageType = 45, - [ServerOnly] - DefaultCombatStyle = 46, - [SendOnLogin] - AttackType = 47, - WeaponSkill = 48, - WeaponTime = 49, - AmmoType = 50, - CombatUse = 51, - [ServerOnly] - ParentLocation = 52, + Undef = 0, + ItemType = 1, + [AssessmentProperty] + CreatureType = 2, + PaletteTemplate = 3, + ClothingPriority = 4, + EncumbranceVal = 5, // ENCUMB_VAL_INT, + ItemsCapacity = 6, + [SendOnLogin] + ContainersCapacity = 7, + Mass = 8, + ValidLocations = 9, // LOCATIONS_INT, + CurrentWieldedLocation = 10, + MaxStackSize = 11, + StackSize = 12, + StackUnitEncumbrance = 13, + StackUnitMass = 14, + StackUnitValue = 15, + ItemUseable = 16, + [AssessmentProperty] + RareId = 17, + UiEffects = 18, + [AssessmentProperty] + Value = 19, + [SendOnLogin] + CoinValue = 20, + TotalExperience = 21, + AvailableCharacter = 22, + TotalSkillCredits = 23, + [SendOnLogin] + AvailableSkillCredits = 24, + [SendOnLogin] + [AssessmentProperty] + Level = 25, + [AssessmentProperty] + AccountRequirements = 26, + ArmorType = 27, + [AssessmentProperty] + ArmorLevel = 28, + AllegianceCpPool = 29, + [SendOnLogin] + [AssessmentProperty] + AllegianceRank = 30, + ChannelsAllowed = 31, + ChannelsActive = 32, + [AssessmentProperty] + Bonded = 33, + MonarchsRank = 34, + [AssessmentProperty] + AllegianceFollowers = 35, + [AssessmentProperty] + ResistMagic = 36, + ResistItemAppraisal = 37, + [AssessmentProperty] + ResistLockpick = 38, + DeprecatedResistRepair = 39, + [SendOnLogin] + CombatMode = 40, + CurrentAttackHeight = 41, + CombatCollisions = 42, + [SendOnLogin] + [AssessmentProperty] + NumDeaths = 43, + Damage = 44, + [AssessmentProperty] + DamageType = 45, + DefaultCombatStyle = 46, + [SendOnLogin] + [AssessmentProperty] + AttackType = 47, + WeaponSkill = 48, + WeaponTime = 49, + AmmoType = 50, + CombatUse = 51, + ParentLocation = 52, /// /// TODO: Migrate inventory order away from this and instead use the new InventoryOrder property /// TODO: PlacementPosition is used (very sparingly) in cache.bin, so it has (or had) a meaning at one point before we hijacked it /// TODO: and used it for our own inventory order /// - [ServerOnly] - PlacementPosition = 53, - WeaponEncumbrance = 54, - WeaponMass = 55, - ShieldValue = 56, - ShieldEncumbrance = 57, - MissileInventoryLocation = 58, - FullDamageType = 59, - WeaponRange = 60, - AttackersSkill = 61, - DefendersSkill = 62, - AttackersSkillValue = 63, - AttackersClass = 64, - [ServerOnly] - Placement = 65, - CheckpointStatus = 66, - Tolerance = 67, - TargetingTactic = 68, - CombatTactic = 69, - HomesickTargetingTactic = 70, - NumFollowFailures = 71, - FriendType = 72, - FoeType = 73, - MerchandiseItemTypes = 74, - MerchandiseMinValue = 75, - MerchandiseMaxValue = 76, - NumItemsSold = 77, - NumItemsBought = 78, - MoneyIncome = 79, - MoneyOutflow = 80, + PlacementPosition = 53, + WeaponEncumbrance = 54, + WeaponMass = 55, + ShieldValue = 56, + ShieldEncumbrance = 57, + MissileInventoryLocation = 58, + FullDamageType = 59, + WeaponRange = 60, + AttackersSkill = 61, + DefendersSkill = 62, + AttackersSkillValue = 63, + AttackersClass = 64, + Placement = 65, + CheckpointStatus = 66, + Tolerance = 67, + TargetingTactic = 68, + CombatTactic = 69, + HomesickTargetingTactic = 70, + NumFollowFailures = 71, + FriendType = 72, + FoeType = 73, + MerchandiseItemTypes = 74, + MerchandiseMinValue = 75, + MerchandiseMaxValue = 76, + NumItemsSold = 77, + NumItemsBought = 78, + MoneyIncome = 79, + MoneyOutflow = 80, [Ephemeral] - MaxGeneratedObjects = 81, + MaxGeneratedObjects = 81, [Ephemeral] - InitGeneratedObjects = 82, - ActivationResponse = 83, - OriginalValue = 84, - NumMoveFailures = 85, - MinLevel = 86, - MaxLevel = 87, - LockpickMod = 88, - BoosterEnum = 89, - BoostValue = 90, - MaxStructure = 91, - Structure = 92, - [ServerOnly] - PhysicsState = 93, - [ServerOnly] - TargetType = 94, - RadarBlipColor = 95, - EncumbranceCapacity = 96, - LoginTimestamp = 97, - [SendOnLogin] - CreationTimestamp = 98, - PkLevelModifier = 99, - GeneratorType = 100, - AiAllowedCombatStyle = 101, - LogoffTimestamp = 102, - GeneratorDestructionType = 103, - ActivationCreateClass = 104, - ItemWorkmanship = 105, - ItemSpellcraft = 106, - ItemCurMana = 107, - ItemMaxMana = 108, - ItemDifficulty = 109, - ItemAllegianceRankLimit = 110, - PortalBitmask = 111, - AdvocateLevel = 112, - [SendOnLogin] - Gender = 113, - Attuned = 114, - ItemSkillLevelLimit = 115, - GateLogic = 116, - ItemManaCost = 117, - Logoff = 118, - Active = 119, - AttackHeight = 120, - NumAttackFailures = 121, - AiCpThreshold = 122, - AiAdvancementStrategy = 123, - Version = 124, - [SendOnLogin] - Age = 125, - VendorHappyMean = 126, - VendorHappyVariance = 127, - CloakStatus = 128, - [SendOnLogin] - VitaeCpPool = 129, - NumServicesSold = 130, - MaterialType = 131, - [SendOnLogin] - NumAllegianceBreaks = 132, + InitGeneratedObjects = 82, + ActivationResponse = 83, + OriginalValue = 84, + NumMoveFailures = 85, + [AssessmentProperty] + MinLevel = 86, + [AssessmentProperty] + MaxLevel = 87, + LockpickMod = 88, + [AssessmentProperty] + BoosterEnum = 89, + [AssessmentProperty] + BoostValue = 90, + [AssessmentProperty] + MaxStructure = 91, + [AssessmentProperty] + Structure = 92, + PhysicsState = 93, + TargetType = 94, + RadarBlipColor = 95, + EncumbranceCapacity = 96, + LoginTimestamp = 97, + [SendOnLogin] + [AssessmentProperty] + CreationTimestamp = 98, + PkLevelModifier = 99, + GeneratorType = 100, + AiAllowedCombatStyle = 101, + LogoffTimestamp = 102, + GeneratorDestructionType = 103, + ActivationCreateClass = 104, + [AssessmentProperty] + ItemWorkmanship = 105, + [AssessmentProperty] + ItemSpellcraft = 106, + [AssessmentProperty] + ItemCurMana = 107, + [AssessmentProperty] + ItemMaxMana = 108, + [AssessmentProperty] + ItemDifficulty = 109, + [AssessmentProperty] + ItemAllegianceRankLimit = 110, + [AssessmentProperty] + PortalBitmask = 111, + AdvocateLevel = 112, + [SendOnLogin] + [AssessmentProperty] + Gender = 113, + [AssessmentProperty] + Attuned = 114, + [AssessmentProperty] + ItemSkillLevelLimit = 115, + GateLogic = 116, + [AssessmentProperty] + ItemManaCost = 117, + Logoff = 118, + Active = 119, + AttackHeight = 120, + NumAttackFailures = 121, + AiCpThreshold = 122, + AiAdvancementStrategy = 123, + Version = 124, + [SendOnLogin] + [AssessmentProperty] + Age = 125, + VendorHappyMean = 126, + VendorHappyVariance = 127, + CloakStatus = 128, + [SendOnLogin] + VitaeCpPool = 129, + NumServicesSold = 130, + [AssessmentProperty] + MaterialType = 131, + [SendOnLogin] + NumAllegianceBreaks = 132, [Ephemeral] - ShowableOnRadar = 133, - [SendOnLogin] - PlayerKillerStatus = 134, - VendorHappyMaxItems = 135, - ScorePageNum = 136, - ScoreConfigNum = 137, - ScoreNumScores = 138, - [SendOnLogin] - DeathLevel = 139, - [ServerOnly] - AiOptions = 140, - [ServerOnly] - OpenToEveryone = 141, - [ServerOnly] - GeneratorTimeType = 142, - [ServerOnly] - GeneratorStartTime = 143, - [ServerOnly] - GeneratorEndTime = 144, - [ServerOnly] - GeneratorEndDestructionType = 145, - [ServerOnly] - XpOverride = 146, - NumCrashAndTurns = 147, - ComponentWarningThreshold = 148, - HouseStatus = 149, - [ServerOnly] - HookPlacement = 150, - [ServerOnly] - HookType = 151, - [ServerOnly] - HookItemType = 152, - AiPpThreshold = 153, - GeneratorVersion = 154, - HouseType = 155, - PickupEmoteOffset = 156, - WeenieIteration = 157, - WieldRequirements = 158, - WieldSkillType = 159, - WieldDifficulty = 160, - [ServerOnly] - HouseMaxHooksUsable = 161, - [ServerOnly][Ephemeral] - HouseCurrentHooksUsable = 162, - AllegianceMinLevel = 163, - AllegianceMaxLevel = 164, - HouseRelinkHookCount = 165, - SlayerCreatureType = 166, - ConfirmationInProgress = 167, - ConfirmationTypeInProgress = 168, - TsysMutationData = 169, - NumItemsInMaterial = 170, - NumTimesTinkered = 171, - AppraisalLongDescDecoration = 172, - AppraisalLockpickSuccessPercent = 173, + ShowableOnRadar = 133, + [SendOnLogin] + [AssessmentProperty] + PlayerKillerStatus = 134, + VendorHappyMaxItems = 135, + ScorePageNum = 136, + ScoreConfigNum = 137, + ScoreNumScores = 138, + [SendOnLogin] + DeathLevel = 139, + AiOptions = 140, + OpenToEveryone = 141, + GeneratorTimeType = 142, + GeneratorStartTime = 143, + GeneratorEndTime = 144, + GeneratorEndDestructionType = 145, + XpOverride = 146, + NumCrashAndTurns = 147, + ComponentWarningThreshold = 148, + HouseStatus = 149, + HookPlacement = 150, + HookType = 151, + HookItemType = 152, + AiPpThreshold = 153, + GeneratorVersion = 154, + HouseType = 155, + PickupEmoteOffset = 156, + WeenieIteration = 157, + [AssessmentProperty] + WieldRequirements = 158, + [AssessmentProperty] + WieldSkillType = 159, + [AssessmentProperty] + WieldDifficulty = 160, + HouseMaxHooksUsable = 161, + HouseCurrentHooksUsable = 162, + AllegianceMinLevel = 163, + AllegianceMaxLevel = 164, + HouseRelinkHookCount = 165, + [AssessmentProperty] + SlayerCreatureType = 166, + ConfirmationInProgress = 167, + ConfirmationTypeInProgress = 168, + TsysMutationData = 169, + [AssessmentProperty] + NumItemsInMaterial = 170, + [AssessmentProperty] + NumTimesTinkered = 171, + [AssessmentProperty] + AppraisalLongDescDecoration = 172, + [AssessmentProperty] + AppraisalLockpickSuccessPercent = 173, + [AssessmentProperty] [Ephemeral] - AppraisalPages = 174, + AppraisalPages = 174, + [AssessmentProperty] [Ephemeral] - AppraisalMaxPages = 175, - AppraisalItemSkill = 176, - GemCount = 177, - GemType = 178, - ImbuedEffect = 179, - AttackersRawSkillValue = 180, - [SendOnLogin] - ChessRank = 181, - ChessTotalGames = 182, - ChessGamesWon = 183, - ChessGamesLost = 184, - TypeOfAlteration = 185, - SkillToBeAltered = 186, - SkillAlterationCount = 187, - [SendOnLogin] - HeritageGroup = 188, - TransferFromAttribute = 189, - TransferToAttribute = 190, - AttributeTransferCount = 191, - [SendOnLogin] - FakeFishingSkill = 192, - NumKeys = 193, - DeathTimestamp = 194, - PkTimestamp = 195, - VictimTimestamp = 196, - [ServerOnly] - HookGroup = 197, - AllegianceSwearTimestamp = 198, - [SendOnLogin] - HousePurchaseTimestamp = 199, - RedirectableEquippedArmorCount = 200, - MeleeDefenseImbuedEffectTypeCache = 201, - MissileDefenseImbuedEffectTypeCache = 202, - MagicDefenseImbuedEffectTypeCache = 203, - ElementalDamageBonus = 204, - ImbueAttempts = 205, - ImbueSuccesses = 206, - CreatureKills = 207, - PlayerKillsPk = 208, - PlayerKillsPkl = 209, - RaresTierOne = 210, - RaresTierTwo = 211, - RaresTierThree = 212, - RaresTierFour = 213, - RaresTierFive = 214, - [SendOnLogin] - AugmentationStat = 215, - [SendOnLogin] - AugmentationFamilyStat = 216, - [SendOnLogin] - AugmentationInnateFamily = 217, - [SendOnLogin] - AugmentationInnateStrength = 218, - [SendOnLogin] - AugmentationInnateEndurance = 219, - [SendOnLogin] - AugmentationInnateCoordination = 220, - [SendOnLogin] - AugmentationInnateQuickness = 221, - [SendOnLogin] - AugmentationInnateFocus = 222, - [SendOnLogin] - AugmentationInnateSelf = 223, - [SendOnLogin] - AugmentationSpecializeSalvaging = 224, - [SendOnLogin] - AugmentationSpecializeItemTinkering = 225, - [SendOnLogin] - AugmentationSpecializeArmorTinkering = 226, + AppraisalMaxPages = 175, + [AssessmentProperty] + AppraisalItemSkill = 176, + [AssessmentProperty] + GemCount = 177, + [AssessmentProperty] + GemType = 178, + [AssessmentProperty] + ImbuedEffect = 179, + AttackersRawSkillValue = 180, + [SendOnLogin] + [AssessmentProperty] + ChessRank = 181, + ChessTotalGames = 182, + ChessGamesWon = 183, + ChessGamesLost = 184, + TypeOfAlteration = 185, + SkillToBeAltered = 186, + SkillAlterationCount = 187, + [SendOnLogin] + [AssessmentProperty] + HeritageGroup = 188, + TransferFromAttribute = 189, + TransferToAttribute = 190, + AttributeTransferCount = 191, + [SendOnLogin] + [AssessmentProperty] + FakeFishingSkill = 192, + [AssessmentProperty] + NumKeys = 193, + DeathTimestamp = 194, + PkTimestamp = 195, + VictimTimestamp = 196, + HookGroup = 197, + AllegianceSwearTimestamp = 198, + [SendOnLogin] + HousePurchaseTimestamp = 199, + RedirectableEquippedArmorCount = 200, + MeleeDefenseImbuedEffectTypeCache = 201, + MissileDefenseImbuedEffectTypeCache = 202, + MagicDefenseImbuedEffectTypeCache = 203, + [AssessmentProperty] + ElementalDamageBonus = 204, + ImbueAttempts = 205, + ImbueSuccesses = 206, + CreatureKills = 207, + PlayerKillsPk = 208, + PlayerKillsPkl = 209, + RaresTierOne = 210, + RaresTierTwo = 211, + RaresTierThree = 212, + RaresTierFour = 213, + RaresTierFive = 214, + AugmentationStat = 215, + AugmentationFamilyStat = 216, + AugmentationInnateFamily = 217, + [SendOnLogin] + AugmentationInnateStrength = 218, + [SendOnLogin] + AugmentationInnateEndurance = 219, + [SendOnLogin] + AugmentationInnateCoordination = 220, + [SendOnLogin] + AugmentationInnateQuickness = 221, + [SendOnLogin] + AugmentationInnateFocus = 222, + [SendOnLogin] + AugmentationInnateSelf = 223, + [SendOnLogin] + AugmentationSpecializeSalvaging = 224, + [SendOnLogin] + AugmentationSpecializeItemTinkering = 225, + [SendOnLogin] + AugmentationSpecializeArmorTinkering = 226, [SendOnLogin] AugmentationSpecializeMagicItemTinkering = 227, [SendOnLogin] - AugmentationSpecializeWeaponTinkering = 228, - [SendOnLogin] - AugmentationExtraPackSlot = 229, + AugmentationSpecializeWeaponTinkering = 228, [SendOnLogin] - AugmentationIncreasedCarryingCapacity = 230, + AugmentationExtraPackSlot = 229, [SendOnLogin] - AugmentationLessDeathItemLoss = 231, + AugmentationIncreasedCarryingCapacity = 230, [SendOnLogin] - AugmentationSpellsRemainPastDeath = 232, + AugmentationLessDeathItemLoss = 231, [SendOnLogin] - AugmentationCriticalDefense = 233, + AugmentationSpellsRemainPastDeath = 232, [SendOnLogin] - AugmentationBonusXp = 234, + AugmentationCriticalDefense = 233, [SendOnLogin] - AugmentationBonusSalvage = 235, + AugmentationBonusXp = 234, [SendOnLogin] - AugmentationBonusImbueChance = 236, + AugmentationBonusSalvage = 235, [SendOnLogin] - AugmentationFasterRegen = 237, + AugmentationBonusImbueChance = 236, [SendOnLogin] - AugmentationIncreasedSpellDuration = 238, + AugmentationFasterRegen = 237, [SendOnLogin] - AugmentationResistanceFamily = 239, + AugmentationIncreasedSpellDuration = 238, + AugmentationResistanceFamily = 239, [SendOnLogin] - AugmentationResistanceSlash = 240, + AugmentationResistanceSlash = 240, [SendOnLogin] - AugmentationResistancePierce = 241, + AugmentationResistancePierce = 241, [SendOnLogin] - AugmentationResistanceBlunt = 242, + AugmentationResistanceBlunt = 242, [SendOnLogin] - AugmentationResistanceAcid = 243, + AugmentationResistanceAcid = 243, [SendOnLogin] - AugmentationResistanceFire = 244, + AugmentationResistanceFire = 244, [SendOnLogin] - AugmentationResistanceFrost = 245, + AugmentationResistanceFrost = 245, [SendOnLogin] - AugmentationResistanceLightning = 246, - RaresTierOneLogin = 247, - RaresTierTwoLogin = 248, - RaresTierThreeLogin = 249, - RaresTierFourLogin = 250, - RaresTierFiveLogin = 251, - RaresLoginTimestamp = 252, - RaresTierSix = 253, - RaresTierSeven = 254, - RaresTierSixLogin = 255, - RaresTierSevenLogin = 256, - ItemAttributeLimit = 257, - ItemAttributeLevelLimit = 258, - ItemAttribute2ndLimit = 259, - ItemAttribute2ndLevelLimit = 260, - CharacterTitleId = 261, - NumCharacterTitles = 262, - ResistanceModifierType = 263, - FreeTinkersBitfield = 264, - EquipmentSetId = 265, - PetClass = 266, - Lifespan = 267, + AugmentationResistanceLightning = 246, + RaresTierOneLogin = 247, + RaresTierTwoLogin = 248, + RaresTierThreeLogin = 249, + RaresTierFourLogin = 250, + RaresTierFiveLogin = 251, + RaresLoginTimestamp = 252, + RaresTierSix = 253, + RaresTierSeven = 254, + RaresTierSixLogin = 255, + RaresTierSevenLogin = 256, + [AssessmentProperty] + ItemAttributeLimit = 257, + [AssessmentProperty] + ItemAttributeLevelLimit = 258, + [AssessmentProperty] /* Client Source */ + ItemAttribute2ndLimit = 259, + [AssessmentProperty] /* Client Source */ + ItemAttribute2ndLevelLimit = 260, + [AssessmentProperty] + CharacterTitleId = 261, + [AssessmentProperty] + NumCharacterTitles = 262, + [AssessmentProperty] + ResistanceModifierType = 263, + FreeTinkersBitfield = 264, + [AssessmentProperty] + EquipmentSetId = 265, + PetClass = 266, + [AssessmentProperty] + Lifespan = 267, + [AssessmentProperty] [Ephemeral] - RemainingLifespan = 268, - UseCreateQuantity = 269, - WieldRequirements2 = 270, - WieldSkillType2 = 271, - WieldDifficulty2 = 272, - WieldRequirements3 = 273, - WieldSkillType3 = 274, - WieldDifficulty3 = 275, - WieldRequirements4 = 276, - WieldSkillType4 = 277, - WieldDifficulty4 = 278, - Unique = 279, - SharedCooldown = 280, + RemainingLifespan = 268, + UseCreateQuantity = 269, + [AssessmentProperty] + WieldRequirements2 = 270, + [AssessmentProperty] + WieldSkillType2 = 271, + [AssessmentProperty] + WieldDifficulty2 = 272, + [AssessmentProperty] + WieldRequirements3 = 273, + [AssessmentProperty] + WieldSkillType3 = 274, + [AssessmentProperty] + WieldDifficulty3 = 275, + [AssessmentProperty] + WieldRequirements4 = 276, + [AssessmentProperty] + WieldSkillType4 = 277, + [AssessmentProperty] + WieldDifficulty4 = 278, + [AssessmentProperty] + Unique = 279, + [AssessmentProperty] + SharedCooldown = 280, [SendOnLogin] - Faction1Bits = 281, - Faction2Bits = 282, - Faction3Bits = 283, - Hatred1Bits = 284, - Hatred2Bits = 285, - Hatred3Bits = 286, + [AssessmentProperty] + Faction1Bits = 281, + Faction2Bits = 282, + Faction3Bits = 283, + Hatred1Bits = 284, + Hatred2Bits = 285, + Hatred3Bits = 286, [SendOnLogin] - SocietyRankCelhan = 287, + [AssessmentProperty] + SocietyRankCelhan = 287, [SendOnLogin] - SocietyRankEldweb = 288, + [AssessmentProperty] + SocietyRankEldweb = 288, [SendOnLogin] - SocietyRankRadblo = 289, - HearLocalSignals = 290, - HearLocalSignalsRadius = 291, - Cleaving = 292, + [AssessmentProperty] + SocietyRankRadblo = 289, + HearLocalSignals = 290, + HearLocalSignalsRadius = 291, + [AssessmentProperty] + Cleaving = 292, + AugmentationSpecializeGearcraft = 293, [SendOnLogin] - AugmentationSpecializeGearcraft = 293, + AugmentationInfusedCreatureMagic = 294, [SendOnLogin] - AugmentationInfusedCreatureMagic = 294, + AugmentationInfusedItemMagic = 295, [SendOnLogin] - AugmentationInfusedItemMagic = 295, + AugmentationInfusedLifeMagic = 296, [SendOnLogin] - AugmentationInfusedLifeMagic = 296, + AugmentationInfusedWarMagic = 297, [SendOnLogin] - AugmentationInfusedWarMagic = 297, + AugmentationCriticalExpertise = 298, [SendOnLogin] - AugmentationCriticalExpertise = 298, + AugmentationCriticalPower = 299, [SendOnLogin] - AugmentationCriticalPower = 299, + AugmentationSkilledMelee = 300, [SendOnLogin] - AugmentationSkilledMelee = 300, + AugmentationSkilledMissile = 301, [SendOnLogin] - AugmentationSkilledMissile = 301, + AugmentationSkilledMagic = 302, + [AssessmentProperty] + ImbuedEffect2 = 303, + [AssessmentProperty] + ImbuedEffect3 = 304, + [AssessmentProperty] + ImbuedEffect4 = 305, + [AssessmentProperty] + ImbuedEffect5 = 306, [SendOnLogin] - AugmentationSkilledMagic = 302, - ImbuedEffect2 = 303, - ImbuedEffect3 = 304, - ImbuedEffect4 = 305, - ImbuedEffect5 = 306, + [AssessmentProperty] + DamageRating = 307, [SendOnLogin] - DamageRating = 307, + [AssessmentProperty] + DamageResistRating = 308, [SendOnLogin] - DamageResistRating = 308, + AugmentationDamageBonus = 309, [SendOnLogin] - AugmentationDamageBonus = 309, + AugmentationDamageReduction = 310, + ImbueStackingBits = 311, [SendOnLogin] - AugmentationDamageReduction = 310, - ImbueStackingBits = 311, + HealOverTime = 312, [SendOnLogin] - HealOverTime = 312, + [AssessmentProperty] + CritRating = 313, [SendOnLogin] - CritRating = 313, + [AssessmentProperty] + CritDamageRating = 314, [SendOnLogin] - CritDamageRating = 314, + [AssessmentProperty] + CritResistRating = 315, [SendOnLogin] - CritResistRating = 315, + [AssessmentProperty] + CritDamageResistRating = 316, [SendOnLogin] - CritDamageResistRating = 316, + HealingResistRating = 317, [SendOnLogin] - HealingResistRating = 317, + DamageOverTime = 318, + [AssessmentProperty] + ItemMaxLevel = 319, + [AssessmentProperty] + ItemXpStyle = 320, + EquipmentSetExtra = 321, [SendOnLogin] - DamageOverTime = 318, - ItemMaxLevel = 319, - ItemXpStyle = 320, - EquipmentSetExtra = 321, + AetheriaBitfield = 322, [SendOnLogin] - AetheriaBitfield = 322, + [AssessmentProperty] + HealingBoostRating = 323, + [AssessmentProperty] + HeritageSpecificArmor = 324, + AlternateRacialSkills = 325, [SendOnLogin] - HealingBoostRating = 323, - HeritageSpecificArmor = 324, - AlternateRacialSkills = 325, + AugmentationJackOfAllTrades = 326, + AugmentationResistanceNether = 327, [SendOnLogin] - AugmentationJackOfAllTrades = 326, + AugmentationInfusedVoidMagic = 328, [SendOnLogin] - AugmentationResistanceNether = 327, + WeaknessRating = 329, [SendOnLogin] - AugmentationInfusedVoidMagic = 328, + NetherOverTime = 330, [SendOnLogin] - WeaknessRating = 329, + NetherResistRating = 331, + LuminanceAward = 332, [SendOnLogin] - NetherOverTime = 330, + LumAugDamageRating = 333, [SendOnLogin] - NetherResistRating = 331, - LuminanceAward = 332, + LumAugDamageReductionRating = 334, [SendOnLogin] - LumAugDamageRating = 333, + LumAugCritDamageRating = 335, [SendOnLogin] - LumAugDamageReductionRating = 334, + LumAugCritReductionRating = 336, [SendOnLogin] - LumAugCritDamageRating = 335, + LumAugSurgeEffectRating = 337, [SendOnLogin] - LumAugCritReductionRating = 336, + LumAugSurgeChanceRating = 338, [SendOnLogin] - LumAugSurgeEffectRating = 337, + LumAugItemManaUsage = 339, [SendOnLogin] - LumAugSurgeChanceRating = 338, + LumAugItemManaGain = 340, [SendOnLogin] - LumAugItemManaUsage = 339, + LumAugVitality = 341, [SendOnLogin] - LumAugItemManaGain = 340, + LumAugHealingRating = 342, [SendOnLogin] - LumAugVitality = 341, + LumAugSkilledCraft = 343, [SendOnLogin] - LumAugHealingRating = 342, + LumAugSkilledSpec = 344, + LumAugNoDestroyCraft = 345, + RestrictInteraction = 346, [SendOnLogin] - LumAugSkilledCraft = 343, + OlthoiLootTimestamp = 347, + OlthoiLootStep = 348, + UseCreatesContractId = 349, [SendOnLogin] - LumAugSkilledSpec = 344, + [AssessmentProperty] + DotResistRating = 350, [SendOnLogin] - LumAugNoDestroyCraft = 345, - RestrictInteraction = 346, - OlthoiLootTimestamp = 347, - OlthoiLootStep = 348, - UseCreatesContractId = 349, + [AssessmentProperty] + LifeResistRating = 351, + [AssessmentProperty] + CloakWeaveProc = 352, + [AssessmentProperty] + WeaponType = 353, [SendOnLogin] - DotResistRating = 350, + MeleeMastery = 354, [SendOnLogin] - LifeResistRating = 351, - CloakWeaveProc = 352, - WeaponType = 353, + RangedMastery = 355, + SneakAttackRating = 356, + RecklessnessRating = 357, + DeceptionRating = 358, + CombatPetRange = 359, [SendOnLogin] - MeleeMastery = 354, + WeaponAuraDamage = 360, [SendOnLogin] - RangedMastery = 355, - SneakAttackRating = 356, - RecklessnessRating = 357, - DeceptionRating = 358, - CombatPetRange = 359, + WeaponAuraSpeed = 361, [SendOnLogin] - WeaponAuraDamage = 360, + SummoningMastery = 362, + HeartbeatLifespan = 363, + UseLevelRequirement = 364, [SendOnLogin] - WeaponAuraSpeed = 361, + LumAugAllSkills = 365, + [AssessmentProperty] + UseRequiresSkill = 366, + [AssessmentProperty] + UseRequiresSkillLevel = 367, + [AssessmentProperty] + UseRequiresSkillSpec = 368, + [AssessmentProperty] + UseRequiresLevel = 369, [SendOnLogin] - SummoningMastery = 362, - HeartbeatLifespan = 363, - UseLevelRequirement = 364, + [AssessmentProperty] + GearDamage = 370, [SendOnLogin] - LumAugAllSkills = 365, - UseRequiresSkill = 366, - UseRequiresSkillLevel = 367, - UseRequiresSkillSpec = 368, - UseRequiresLevel = 369, + [AssessmentProperty] + GearDamageResist = 371, [SendOnLogin] - GearDamage = 370, + [AssessmentProperty] + GearCrit = 372, [SendOnLogin] - GearDamageResist = 371, + [AssessmentProperty] + GearCritResist = 373, [SendOnLogin] - GearCrit = 372, + [AssessmentProperty] + GearCritDamage = 374, [SendOnLogin] - GearCritResist = 373, + [AssessmentProperty] + GearCritDamageResist = 375, [SendOnLogin] - GearCritDamage = 374, + [AssessmentProperty] + GearHealingBoost = 376, [SendOnLogin] - GearCritDamageResist = 375, + [AssessmentProperty] + GearNetherResist = 377, [SendOnLogin] - GearHealingBoost = 376, + [AssessmentProperty] + GearLifeResist = 378, [SendOnLogin] - GearNetherResist = 377, + [AssessmentProperty] + GearMaxHealth = 379, + Unknown380 = 380, [SendOnLogin] - GearLifeResist = 378, + [AssessmentProperty] + PKDamageRating = 381, [SendOnLogin] - GearMaxHealth = 379, - Unknown380 = 380, + [AssessmentProperty] + PKDamageResistRating = 382, [SendOnLogin] - PKDamageRating = 381, + [AssessmentProperty] + GearPKDamageRating = 383, [SendOnLogin] - PKDamageResistRating = 382, - [SendOnLogin] - GearPKDamageRating = 383, - [SendOnLogin] - GearPKDamageResistRating = 384, - Unknown385 = 385, + [AssessmentProperty] + GearPKDamageResistRating = 384, + Unknown385 = 385, /// /// Overpower chance % for endgame creatures. /// [SendOnLogin] - Overpower = 386, + [AssessmentProperty] + Overpower = 386, [SendOnLogin] - OverpowerResist = 387, + [AssessmentProperty] + OverpowerResist = 387, // Client does not display accurately [SendOnLogin] - GearOverpower = 388, + [AssessmentProperty] + GearOverpower = 388, // Client does not display accurately [SendOnLogin] - GearOverpowerResist = 389, + [AssessmentProperty] + GearOverpowerResist = 389, // Number of times a character has enlightened [SendOnLogin] - Enlightenment = 390, + [AssessmentProperty] + Enlightenment = 390, - [ServerOnly] - PCAPRecordedAutonomousMovement = 8007, - [ServerOnly] - PCAPRecordedMaxVelocityEstimated = 8030, - [ServerOnly] - PCAPRecordedPlacement = 8041, - [ServerOnly] - PCAPRecordedAppraisalPages = 8042, - [ServerOnly] - PCAPRecordedAppraisalMaxPages = 8043, + PCAPRecordedAutonomousMovement = 8007, + PCAPRecordedMaxVelocityEstimated = 8030, + PCAPRecordedPlacement = 8041, + PCAPRecordedAppraisalPages = 8042, + PCAPRecordedAppraisalMaxPages = 8043, - //[ServerOnly] - //TotalLogins = 9001, - //[ServerOnly] - //DeletionTimestamp = 9002, - //[ServerOnly] - //CharacterOptions1 = 9003, - //[ServerOnly] - //CharacterOptions2 = 9004, - //[ServerOnly] - //LootTier = 9005, - //[ServerOnly] - //GeneratorProbability = 9006, - //[ServerOnly] - //WeenieType = 9007 // I don't think this property type is needed anymore. We don't store the weenie type in the property bags, we store it as a separate field in the base objects. - [ServerOnly] - CurrentLoyaltyAtLastLogoff = 9008, - [ServerOnly] - CurrentLeadershipAtLastLogoff = 9009, - [ServerOnly] - AllegianceOfficerRank = 9010, - [ServerOnly] - HouseRentTimestamp = 9011, + //TotalLogins = 9001, + //DeletionTimestamp = 9002, + //CharacterOptions1 = 9003, + //CharacterOptions2 = 9004, + //LootTier = 9005, + //GeneratorProbability = 9006, + //WeenieType = 9007 // I don't think this property type is needed anymore. We don't store the weenie type in the property bags, we store it as a separate field in the base objects., + CurrentLoyaltyAtLastLogoff = 9008, + CurrentLeadershipAtLastLogoff = 9009, + AllegianceOfficerRank = 9010, + HouseRentTimestamp = 9011, /// /// Stores the player's selected hairstyle at creation or after a barber use. This is used only for Gear Knights and Olthoi characters who have more than a single part/texture for a "hairstyle" (BodyStyle) /// - [ServerOnly] - Hairstyle = 9012, + Hairstyle = 9012, /// /// Used to store the calculated Clothing Priority for use with armor reduced items and items like Over-Robes. /// - [Ephemeral][ServerOnly] - VisualClothingPriority = 9013, - [ServerOnly] - SquelchGlobal = 9014, + VisualClothingPriority = 9013, + SquelchGlobal = 9014, /// /// TODO: This is a place holder for future use. See PlacementPosition /// This is the sort order for items in a container /// - [ServerOnly] - InventoryOrder = 9015, + InventoryOrder = 9015, } public static class PropertyIntExtensions { - public static string GetDescription(this PropertyInt prop) - { - var description = prop.GetAttributeOfType(); - return description?.Description ?? prop.ToString(); - } - public static string GetValueEnumName(this PropertyInt property, int value) { switch (property) diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs b/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs index 183ef25549..baf82c74fe 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs @@ -2,43 +2,32 @@ namespace ACE.Entity.Enum.Properties { - // properties marked as ServerOnly are properties we never saw in PCAPs, from here: - // http://ac.yotesfan.com/ace_object/not_used_enums.php - // source: @OptimShi - // description attributes are used by the weenie editor for a cleaner display name + // No properties are sent to the client unless they featured an atribute. + // SendOnLogin gets sent to players in the PlayerDescription event + // AssessmentProperty gets sent in successful appraisal public enum PropertyInt64 : ushort { - Undef = 0, + Undef = 0, [SendOnLogin] - TotalExperience = 1, + TotalExperience = 1, [SendOnLogin] AvailableExperience = 2, - AugmentationCost = 3, - ItemTotalXp = 4, - ItemBaseXp = 5, + [AssessmentProperty] + AugmentationCost = 3, + [AssessmentProperty] + ItemTotalXp = 4, + [AssessmentProperty] + ItemBaseXp = 5, [SendOnLogin] - AvailableLuminance = 6, + AvailableLuminance = 6, [SendOnLogin] - MaximumLuminance = 7, - InteractionReqs = 8, + MaximumLuminance = 7, + InteractionReqs = 8, - /* custom */ - [ServerOnly] - AllegianceXPCached = 9000, - [ServerOnly] + /* Custom */ + AllegianceXPCached = 9000, AllegianceXPGenerated = 9001, - [ServerOnly] - AllegianceXPReceived = 9002, - [ServerOnly] - VerifyXp = 9003 - } - - public static class PropertyInt64Extensions - { - public static string GetDescription(this PropertyInt64 prop) - { - var description = prop.GetAttributeOfType(); - return description?.Description ?? prop.ToString(); - } + AllegianceXPReceived = 9002, + VerifyXp = 9003, } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyString.cs b/Source/ACE.Entity/Enum/Properties/PropertyString.cs index 864b7fcc40..63f24bef8f 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyString.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyString.cs @@ -2,108 +2,98 @@ namespace ACE.Entity.Enum.Properties { + // No properties are sent to the client unless they featured an atribute. + // SendOnLogin gets sent to players in the PlayerDescription event + // AssessmentProperty gets sent in successful appraisal public enum PropertyString : ushort { - // properties marked as ServerOnly are properties we never saw in PCAPs, from here: - // http://ac.yotesfan.com/ace_object/not_used_enums.php - // source: @OptimShi - // description attributes are used by the weenie editor for a cleaner display name - Undef = 0, + Undef = 0, [SendOnLogin] - Name = 1, + Name = 1, /// /// default "Adventurer" /// - Title = 2, - Sex = 3, - HeritageGroup = 4, - Template = 5, - AttackersName = 6, - Inscription = 7, - [Description("Scribe Name")] - ScribeName = 8, - VendorsName = 9, - Fellowship = 10, - MonarchsName = 11, - [ServerOnly] - LockCode = 12, - [ServerOnly] - KeyCode = 13, - Use = 14, - ShortDesc = 15, - LongDesc = 16, - ActivationTalk = 17, - [ServerOnly] - UseMessage = 18, - ItemHeritageGroupRestriction = 19, - PluralName = 20, - MonarchsTitle = 21, - ActivationFailure = 22, - ScribeAccount = 23, - TownName = 24, - CraftsmanName = 25, - UsePkServerError = 26, - ScoreCachedText = 27, - ScoreDefaultEntryFormat = 28, - ScoreFirstEntryFormat = 29, - ScoreLastEntryFormat = 30, - ScoreOnlyEntryFormat = 31, - ScoreNoEntry = 32, - [ServerOnly] - Quest = 33, - GeneratorEvent = 34, - PatronsTitle = 35, - HouseOwnerName = 36, - QuestRestriction = 37, - AppraisalPortalDestination = 38, - TinkerName = 39, - ImbuerName = 40, - HouseOwnerAccount = 41, - DisplayName = 42, - DateOfBirth = 43, - ThirdPartyApi = 44, - KillQuest = 45, + Title = 2, + Sex = 3, + HeritageGroup = 4, + [SendOnLogin] + [AssessmentProperty] + Template = 5, + AttackersName = 6, + [AssessmentProperty] + Inscription = 7, + [AssessmentProperty] + ScribeName = 8, + VendorsName = 9, + [AssessmentProperty] + Fellowship = 10, + MonarchsName = 11, + LockCode = 12, + KeyCode = 13, + [AssessmentProperty] + Use = 14, + [AssessmentProperty] + ShortDesc = 15, + [AssessmentProperty] + LongDesc = 16, + ActivationTalk = 17, + UseMessage = 18, + ItemHeritageGroupRestriction = 19, + PluralName = 20, + [AssessmentProperty] + MonarchsTitle = 21, + ActivationFailure = 22, + [AssessmentProperty] + ScribeAccount = 23, + TownName = 24, + [AssessmentProperty] + CraftsmanName = 25, + UsePkServerError = 26, + ScoreCachedText = 27, + ScoreDefaultEntryFormat = 28, + ScoreFirstEntryFormat = 29, + ScoreLastEntryFormat = 30, + ScoreOnlyEntryFormat = 31, + ScoreNoEntry = 32, + Quest = 33, + GeneratorEvent = 34, + [AssessmentProperty] + PatronsTitle = 35, + HouseOwnerName = 36, + QuestRestriction = 37, + [AssessmentProperty] + AppraisalPortalDestination = 38, + [AssessmentProperty] + TinkerName = 39, + [AssessmentProperty] + ImbuerName = 40, + HouseOwnerAccount = 41, + DisplayName = 42, + [AssessmentProperty] + DateOfBirth = 43, + ThirdPartyApi = 44, + KillQuest = 45, [Ephemeral] - Afk = 46, - AllegianceName = 47, - AugmentationAddQuest = 48, - KillQuest2 = 49, - KillQuest3 = 50, - UseSendsSignal = 51, - - [Description("Gear Plating Name")] - GearPlatingName = 52, - - [ServerOnly] - PCAPRecordedCurrentMotionState = 8006, - [ServerOnly] - PCAPRecordedServerName = 8031, - [ServerOnly] - PCAPRecordedCharacterName = 8032, + Afk = 46, + [AssessmentProperty] + AllegianceName = 47, + AugmentationAddQuest = 48, + KillQuest2 = 49, + KillQuest3 = 50, + UseSendsSignal = 51, + [AssessmentProperty] + GearPlatingName = 52, + + PCAPRecordedCurrentMotionState = 8006, + PCAPRecordedServerName = 8031, + PCAPRecordedCharacterName = 8032, - /* custom */ - [ServerOnly] - AllegianceMotd = 9001, - [ServerOnly] - AllegianceMotdSetBy = 9002, - [ServerOnly] - AllegianceSpeakerTitle = 9003, - [ServerOnly] - AllegianceSeneschalTitle = 9004, - [ServerOnly] - AllegianceCastellanTitle = 9005, - [ServerOnly] - GodState = 9006, - [ServerOnly] - TinkerLog = 9007, - } - - public static class PropertyStringExtensions - { - public static string GetDescription(this PropertyString prop) - { - var description = prop.GetAttributeOfType(); - return description?.Description ?? prop.ToString(); - } + AllegianceMotd = 9001, + AllegianceMotdSetBy = 9002, + AllegianceSpeakerTitle = 9003, + AllegianceSeneschalTitle = 9004, + AllegianceCastellanTitle = 9005, + GodState = 9006, + TinkerLog = 9007, } } diff --git a/Source/ACE.Entity/Enum/Properties/ServerOnlyAttribute.cs b/Source/ACE.Entity/Enum/Properties/ServerOnlyAttribute.cs deleted file mode 100644 index c59786a1d8..0000000000 --- a/Source/ACE.Entity/Enum/Properties/ServerOnlyAttribute.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; - -namespace ACE.Entity.Enum.Properties -{ - /// - /// These are properties that are never sent to any client. - /// - public class ServerOnlyAttribute : Attribute - { - } -} diff --git a/Source/ACE.Entity/Enum/Properties/ServerOnlyProperties.cs b/Source/ACE.Entity/Enum/Properties/ServerOnlyProperties.cs deleted file mode 100644 index 48cade641f..0000000000 --- a/Source/ACE.Entity/Enum/Properties/ServerOnlyProperties.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System.Collections.Generic; -using System.Linq; - -namespace ACE.Entity.Enum.Properties -{ - /// - /// Static selection of client enums that are [ServerOnly] - /// These are properties that are never sent to any client. - /// - public static class ServerOnlyProperties - { - /// - /// Method to return a list of enums by attribute type - in this case [ServerOnly] using generics to enhance code reuse. - /// - /// Enum to list by [ServerOnly] - /// Type of the results - private static HashSet GetValues() - { - var list = typeof(T).GetFields().Select(x => new - { - att = x.GetCustomAttributes(false).OfType().FirstOrDefault(), - member = x - }).Where(x => x.att != null && x.member.Name != "value__").Select(x => (TResult)x.member.GetValue(null)).ToList(); - - return new HashSet(list); - } - - /// - /// returns a list of values for PropertyInt that are [ServerOnly] - /// PropertiesInt = GetValues(); - - /// - /// returns a list of values for PropertyInt that are [ServerOnly] - /// - public static HashSet PropertiesInt64 = GetValues(); - - /// - /// returns a list of values for PropertyInt that are [ServerOnly] - /// - public static HashSet PropertiesBool = GetValues(); - - /// - /// returns a list of values for PropertyInt that are [ServerOnly] - /// - public static HashSet PropertiesString = GetValues(); - - /// - /// returns a list of values for PropertyInt that are [ServerOnly] - /// - public static HashSet PropertiesDouble = GetValues(); - - /// - /// returns a list of values for PropertyInt that are [ServerOnly] - /// - public static HashSet PropertiesDataId = GetValues(); - - /// - /// returns a list of values for PropertyInt that are [ServerOnly] - /// - public static HashSet PropertiesInstanceId = GetValues(); - } -} diff --git a/Source/ACE.Server/Network/GameEvent/Events/GameEventPlayerDescription.cs b/Source/ACE.Server/Network/GameEvent/Events/GameEventPlayerDescription.cs index 5a270112d9..149a0f1446 100644 --- a/Source/ACE.Server/Network/GameEvent/Events/GameEventPlayerDescription.cs +++ b/Source/ACE.Server/Network/GameEvent/Events/GameEventPlayerDescription.cs @@ -81,7 +81,7 @@ private void WriteEventBody() } } - var _propertiesInt64 = Session.Player.GetAllPropertyInt64Where(ClientProperties.PropertiesInt64); + var _propertiesInt64 = Session.Player.GetAllPropertyInt64Where(SendOnLoginProperties.PropertiesInt64); if (_propertiesInt64.Count != 0) { diff --git a/Source/ACE.Server/Network/Structure/AppraiseInfo.cs b/Source/ACE.Server/Network/Structure/AppraiseInfo.cs index a5df76a991..0e38a40009 100644 --- a/Source/ACE.Server/Network/Structure/AppraiseInfo.cs +++ b/Source/ACE.Server/Network/Structure/AppraiseInfo.cs @@ -341,13 +341,13 @@ public void BuildProfile(WorldObject wo, Player examiner, bool success = true) private void BuildProperties(WorldObject wo) { - PropertiesInt = wo.GetAllPropertyIntWhere(ClientProperties.PropertiesInt); - PropertiesInt64 = wo.GetAllPropertyInt64Where(ClientProperties.PropertiesInt64); - PropertiesBool = wo.GetAllPropertyBoolsWhere(ClientProperties.PropertiesBool); - PropertiesFloat = wo.GetAllPropertyFloatWhere(ClientProperties.PropertiesDouble); - PropertiesString = wo.GetAllPropertyStringWhere(ClientProperties.PropertiesString); - PropertiesDID = wo.GetAllPropertyDataIdWhere(ClientProperties.PropertiesDataId); - PropertiesIID = wo.GetAllPropertyInstanceIdWhere(ClientProperties.PropertiesInstanceId); + PropertiesInt = wo.GetAllPropertyIntWhere(AssessmentProperties.PropertiesInt); + PropertiesInt64 = wo.GetAllPropertyInt64Where(AssessmentProperties.PropertiesInt64); + PropertiesBool = wo.GetAllPropertyBoolsWhere(AssessmentProperties.PropertiesBool); + PropertiesFloat = wo.GetAllPropertyFloatWhere(AssessmentProperties.PropertiesDouble); + PropertiesString = wo.GetAllPropertyStringWhere(AssessmentProperties.PropertiesString); + PropertiesDID = wo.GetAllPropertyDataIdWhere(AssessmentProperties.PropertiesDataId); + PropertiesIID = wo.GetAllPropertyInstanceIdWhere(AssessmentProperties.PropertiesInstanceId); if (wo is Player player) { From cee8ba2bdbae7e9d4b4dd563d0d1fa2dd81cb7c9 Mon Sep 17 00:00:00 2001 From: OptimShi <26606778+OptimShi@users.noreply.github.com> Date: Mon, 23 Dec 2024 09:49:55 -0700 Subject: [PATCH 2/7] Fix missing [Ephemeral] attributes --- .../Enum/Properties/PropertyBool.cs | 8 +++++ .../Enum/Properties/PropertyDataId.cs | 2 ++ .../Enum/Properties/PropertyFloat.cs | 2 +- .../Enum/Properties/PropertyInstanceId.cs | 7 ++-- .../ACE.Entity/Enum/Properties/PropertyInt.cs | 33 ++++++++----------- .../Enum/Properties/PropertyInt64.cs | 2 +- .../Enum/Properties/PropertyString.cs | 5 +-- 7 files changed, 33 insertions(+), 26 deletions(-) diff --git a/Source/ACE.Entity/Enum/Properties/PropertyBool.cs b/Source/ACE.Entity/Enum/Properties/PropertyBool.cs index 54580f4c52..e4e764b064 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyBool.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyBool.cs @@ -8,6 +8,7 @@ namespace ACE.Entity.Enum.Properties public enum PropertyBool : ushort { Undef = 0, + [Ephemeral] Stuck = 1, [AssessmentProperty] [Ephemeral] @@ -28,6 +29,7 @@ public enum PropertyBool : ushort LightsStatus = 15, ScriptedCollision = 16, Inelastic = 17, + [Ephemeral] Visibility = 18, Attackable = 19, SafeSpellComponents = 20, @@ -58,10 +60,13 @@ public enum PropertyBool : ushort AllowEdgeSlide = 42, AdvocateQuest = 43, [SendOnLogin] + [Ephemeral] IsAdmin = 44, [SendOnLogin] + [Ephemeral] IsArch = 45, [SendOnLogin] + [Ephemeral] IsSentinel = 46, [SendOnLogin] IsAdvocate = 47, @@ -124,6 +129,7 @@ public enum PropertyBool : ushort ExistedBeforeAllegianceXpChanges = 95, IsDeaf = 96, [SendOnLogin] + [Ephemeral] IsPsr = 97, Invincible = 98, [AssessmentProperty] @@ -170,10 +176,12 @@ public enum PropertyBool : ushort AutowieldLeft = 130, /* Custom Properties */ + LinkedPortalOneSummon = 9001, LinkedPortalTwoSummon = 9002, HouseEvicted = 9003, UntrainedSkills = 9004, + [Ephemeral] IsEnvoy = 9005, UnspecializedSkills = 9006, FreeSkillResetRenewed = 9007, diff --git a/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs b/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs index cd5de54f3f..0ad4cc2996 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs @@ -79,6 +79,8 @@ public enum PropertyDataId : ushort YellowSurgeSpell = 59, RedSurgeSpell = 60, OlthoiDeathTreasureType = 61, + + /* Custom Properties */ PCAPRecordedWeenieHeader = 8001, PCAPRecordedWeenieHeader2 = 8002, PCAPRecordedObjectDesc = 8003, diff --git a/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs b/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs index e2dc0e9144..186d5bfe2f 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs @@ -210,7 +210,7 @@ public enum PropertyFloat : ushort [SendOnLogin] WeaponAuraManaConv = 171, - /* Custom */ + /* Custom Properties */ PCAPRecordedWorkmanship = 8004, PCAPRecordedVelocityX = 8010, PCAPRecordedVelocityY = 8011, diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs b/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs index 395af688c2..37d01176ee 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs @@ -7,6 +7,7 @@ namespace ACE.Entity.Enum.Properties // AssessmentProperty gets sent in successful appraisal public enum PropertyInstanceId : ushort { + Undef = 0, Owner = 1, Container = 2, Wielder = 3, @@ -48,6 +49,7 @@ public enum PropertyInstanceId : ushort CombatTarget = 27, [Ephemeral] HealthQueryTarget = 28, + [Ephemeral] LastUnlocker = 29, CrashAndTurnTarget = 30, AllowedActivator = 31, @@ -64,13 +66,14 @@ public enum PropertyInstanceId : ushort LimboSource = 40, Snooper = 41, TeleportedCharacter = 42, + [Ephemeral] Pet = 43, PetOwner = 44, + [Ephemeral] PetDevice = 45, - /* Custom */ + /* Custom Properties */ PCAPRecordedObjectIID = 8000, PCAPRecordedParentIID = 8008, - } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs index 12425036cb..06418b6a4d 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs @@ -34,6 +34,7 @@ public enum PropertyInt : ushort [AssessmentProperty] Value = 19, [SendOnLogin] + [Ephemeral] CoinValue = 20, TotalExperience = 21, AvailableCharacter = 22, @@ -232,6 +233,7 @@ public enum PropertyInt : ushort [AssessmentProperty] WieldDifficulty = 160, HouseMaxHooksUsable = 161, + [Ephemeral] HouseCurrentHooksUsable = 162, AllegianceMinLevel = 163, AllegianceMaxLevel = 164, @@ -381,9 +383,9 @@ public enum PropertyInt : ushort ItemAttributeLimit = 257, [AssessmentProperty] ItemAttributeLevelLimit = 258, - [AssessmentProperty] /* Client Source */ + [AssessmentProperty] ItemAttribute2ndLimit = 259, - [AssessmentProperty] /* Client Source */ + [AssessmentProperty] ItemAttribute2ndLevelLimit = 260, [AssessmentProperty] CharacterTitleId = 261, @@ -657,37 +659,28 @@ public enum PropertyInt : ushort [AssessmentProperty] Enlightenment = 390, + /* Custom Properties */ PCAPRecordedAutonomousMovement = 8007, PCAPRecordedMaxVelocityEstimated = 8030, PCAPRecordedPlacement = 8041, PCAPRecordedAppraisalPages = 8042, PCAPRecordedAppraisalMaxPages = 8043, - //TotalLogins = 9001, - //DeletionTimestamp = 9002, - //CharacterOptions1 = 9003, - //CharacterOptions2 = 9004, - //LootTier = 9005, - //GeneratorProbability = 9006, - //WeenieType = 9007 // I don't think this property type is needed anymore. We don't store the weenie type in the property bags, we store it as a separate field in the base objects., + // TotalLogins = 9001, + // DeletionTimestamp = 9002, + // CharacterOptions1 = 9003, + // CharacterOptions2 = 9004, + // LootTier = 9005, + // GeneratorProbability = 9006, + // WeenieType = 9007 CurrentLoyaltyAtLastLogoff = 9008, CurrentLeadershipAtLastLogoff = 9009, AllegianceOfficerRank = 9010, HouseRentTimestamp = 9011, - /// - /// Stores the player's selected hairstyle at creation or after a barber use. This is used only for Gear Knights and Olthoi characters who have more than a single part/texture for a "hairstyle" (BodyStyle) - /// Hairstyle = 9012, - /// - /// Used to store the calculated Clothing Priority for use with armor reduced items and items like Over-Robes. - /// + [Ephemeral] VisualClothingPriority = 9013, SquelchGlobal = 9014, - - /// - /// TODO: This is a place holder for future use. See PlacementPosition - /// This is the sort order for items in a container - /// InventoryOrder = 9015, } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs b/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs index baf82c74fe..7991b97746 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs @@ -24,7 +24,7 @@ public enum PropertyInt64 : ushort MaximumLuminance = 7, InteractionReqs = 8, - /* Custom */ + /* Custom Properties */ AllegianceXPCached = 9000, AllegianceXPGenerated = 9001, AllegianceXPReceived = 9002, diff --git a/Source/ACE.Entity/Enum/Properties/PropertyString.cs b/Source/ACE.Entity/Enum/Properties/PropertyString.cs index 63f24bef8f..1c0ff0af4d 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyString.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyString.cs @@ -12,7 +12,7 @@ public enum PropertyString : ushort Name = 1, /// /// default "Adventurer" - /// + /// Date: Tue, 24 Dec 2024 12:48:18 -0700 Subject: [PATCH 3/7] Balanced enum balances, reduced multiple attributes to a single line --- .../Enum/Properties/PropertyBool.cs | 297 +++-- .../Enum/Properties/PropertyDataId.cs | 158 +-- .../Enum/Properties/PropertyFloat.cs | 360 +++--- .../Enum/Properties/PropertyInstanceId.cs | 94 +- .../ACE.Entity/Enum/Properties/PropertyInt.cs | 1037 ++++++++--------- .../Enum/Properties/PropertyInt64.cs | 24 +- .../Enum/Properties/PropertyString.cs | 127 +- 7 files changed, 1021 insertions(+), 1076 deletions(-) diff --git a/Source/ACE.Entity/Enum/Properties/PropertyBool.cs b/Source/ACE.Entity/Enum/Properties/PropertyBool.cs index e4e764b064..302d96f699 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyBool.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyBool.cs @@ -7,187 +7,180 @@ namespace ACE.Entity.Enum.Properties // AssessmentProperty gets sent in successful appraisal public enum PropertyBool : ushort { - Undef = 0, + Undef = 0, [Ephemeral] - Stuck = 1, + Stuck = 1, + [AssessmentProperty][Ephemeral] + Open = 2, [AssessmentProperty] + Locked = 3, + RotProof = 4, + AllegianceUpdateRequest = 5, + AiUsesMana = 6, + AiUseHumanMagicAnimations = 7, + AllowGive = 8, + CurrentlyAttacking = 9, + AttackerAi = 10, + IgnoreCollisions = 11, + ReportCollisions = 12, + Ethereal = 13, + GravityStatus = 14, + LightsStatus = 15, + ScriptedCollision = 16, + Inelastic = 17, [Ephemeral] - Open = 2, - [AssessmentProperty] - Locked = 3, - RotProof = 4, - AllegianceUpdateRequest = 5, - AiUsesMana = 6, - AiUseHumanMagicAnimations = 7, - AllowGive = 8, - CurrentlyAttacking = 9, - AttackerAi = 10, - IgnoreCollisions = 11, - ReportCollisions = 12, - Ethereal = 13, - GravityStatus = 14, - LightsStatus = 15, - ScriptedCollision = 16, - Inelastic = 17, - [Ephemeral] - Visibility = 18, - Attackable = 19, - SafeSpellComponents = 20, - [SendOnLogin] - AdvocateState = 21, - Inscribable = 22, - DestroyOnSell = 23, - UiHidden = 24, - IgnoreHouseBarriers = 25, - HiddenAdmin = 26, - PkWounder = 27, - PkKiller = 28, - NoCorpse = 29, - UnderLifestoneProtection = 30, - ItemManaUpdatePending = 31, - [Ephemeral] - GeneratorStatus = 32, - [Ephemeral] - ResetMessagePending = 33, - DefaultOpen = 34, - DefaultLocked = 35, - DefaultOn = 36, - OpenForBusiness = 37, - IsFrozen = 38, - DealMagicalItems = 39, - LogoffImDead = 40, - ReportCollisionsAsEnvironment = 41, - AllowEdgeSlide = 42, - AdvocateQuest = 43, - [SendOnLogin] - [Ephemeral] - IsAdmin = 44, + Visibility = 18, + Attackable = 19, + SafeSpellComponents = 20, [SendOnLogin] + AdvocateState = 21, + Inscribable = 22, + DestroyOnSell = 23, + UiHidden = 24, + IgnoreHouseBarriers = 25, + HiddenAdmin = 26, + PkWounder = 27, + PkKiller = 28, + NoCorpse = 29, + UnderLifestoneProtection = 30, + ItemManaUpdatePending = 31, [Ephemeral] - IsArch = 45, - [SendOnLogin] + GeneratorStatus = 32, [Ephemeral] - IsSentinel = 46, + ResetMessagePending = 33, + DefaultOpen = 34, + DefaultLocked = 35, + DefaultOn = 36, + OpenForBusiness = 37, + IsFrozen = 38, + DealMagicalItems = 39, + LogoffImDead = 40, + ReportCollisionsAsEnvironment = 41, + AllowEdgeSlide = 42, + AdvocateQuest = 43, + [SendOnLogin][Ephemeral] + IsAdmin = 44, + [SendOnLogin][Ephemeral] + IsArch = 45, + [SendOnLogin][Ephemeral] + IsSentinel = 46, [SendOnLogin] - IsAdvocate = 47, - CurrentlyPoweringUp = 48, + IsAdvocate = 47, + CurrentlyPoweringUp = 48, [Ephemeral] - GeneratorEnteredWorld = 49, - NeverFailCasting = 50, - VendorService = 51, - AiImmobile = 52, - DamagedByCollisions = 53, - IsDynamic = 54, - IsHot = 55, - IsAffecting = 56, - AffectsAis = 57, - SpellQueueActive = 58, + GeneratorEnteredWorld = 49, + NeverFailCasting = 50, + VendorService = 51, + AiImmobile = 52, + DamagedByCollisions = 53, + IsDynamic = 54, + IsHot = 55, + IsAffecting = 56, + AffectsAis = 57, + SpellQueueActive = 58, [Ephemeral] - GeneratorDisabled = 59, - IsAcceptingTells = 60, - LoggingChannel = 61, - OpensAnyLock = 62, + GeneratorDisabled = 59, + IsAcceptingTells = 60, + LoggingChannel = 61, + OpensAnyLock = 62, [AssessmentProperty] - UnlimitedUse = 63, - GeneratedTreasureItem = 64, - IgnoreMagicResist = 65, - IgnoreMagicArmor = 66, - AiAllowTrade = 67, + UnlimitedUse = 63, + GeneratedTreasureItem = 64, + IgnoreMagicResist = 65, + IgnoreMagicArmor = 66, + AiAllowTrade = 67, [SendOnLogin] - SpellComponentsRequired = 68, + SpellComponentsRequired = 68, [AssessmentProperty] - IsSellable = 69, - IgnoreShieldsBySkill = 70, - NoDraw = 71, - ActivationUntargeted = 72, - HouseHasGottenPriorityBootPos = 73, + IsSellable = 69, + IgnoreShieldsBySkill = 70, + NoDraw = 71, + ActivationUntargeted = 72, + HouseHasGottenPriorityBootPos = 73, [Ephemeral] - GeneratorAutomaticDestruction = 74, - HouseHooksVisible = 75, - HouseRequiresMonarch = 76, - HouseHooksEnabled = 77, - HouseNotifiedHudOfHookCount = 78, - AiAcceptEverything = 79, - IgnorePortalRestrictions = 80, - RequiresBackpackSlot = 81, - DontTurnOrMoveWhenGiving = 82, - NpcLooksLikeObject = 83, - IgnoreCloIcons = 84, + GeneratorAutomaticDestruction = 74, + HouseHooksVisible = 75, + HouseRequiresMonarch = 76, + HouseHooksEnabled = 77, + HouseNotifiedHudOfHookCount = 78, + AiAcceptEverything = 79, + IgnorePortalRestrictions = 80, + RequiresBackpackSlot = 81, + DontTurnOrMoveWhenGiving = 82, + NpcLooksLikeObject = 83, + IgnoreCloIcons = 84, [AssessmentProperty] - AppraisalHasAllowedWielder = 85, - ChestRegenOnClose = 86, - LogoffInMinigame = 87, - PortalShowDestination = 88, - PortalIgnoresPkAttackTimer = 89, - NpcInteractsSilently = 90, + AppraisalHasAllowedWielder = 85, + ChestRegenOnClose = 86, + LogoffInMinigame = 87, + PortalShowDestination = 88, + PortalIgnoresPkAttackTimer = 89, + NpcInteractsSilently = 90, [AssessmentProperty] - Retained = 91, - IgnoreAuthor = 92, - Limbo = 93, + Retained = 91, + IgnoreAuthor = 92, + Limbo = 93, [AssessmentProperty] - AppraisalHasAllowedActivator = 94, + AppraisalHasAllowedActivator = 94, ExistedBeforeAllegianceXpChanges = 95, - IsDeaf = 96, - [SendOnLogin] - [Ephemeral] - IsPsr = 97, - Invincible = 98, + IsDeaf = 96, + [SendOnLogin][Ephemeral] + IsPsr = 97, + Invincible = 98, [AssessmentProperty] - Ivoryable = 99, + Ivoryable = 99, [AssessmentProperty] - Dyable = 100, - CanGenerateRare = 101, - CorpseGeneratedRare = 102, - NonProjectileMagicImmune = 103, + Dyable = 100, + CanGenerateRare = 101, + CorpseGeneratedRare = 102, + NonProjectileMagicImmune = 103, [SendOnLogin] - ActdReceivedItems = 104, - Unknown105 = 105, + ActdReceivedItems = 104, + Unknown105 = 105, [Ephemeral] - FirstEnterWorldDone = 106, - RecallsDisabled = 107, + FirstEnterWorldDone = 106, + RecallsDisabled = 107, [AssessmentProperty] - RareUsesTimer = 108, - ActdPreorderReceivedItems = 109, + RareUsesTimer = 108, + ActdPreorderReceivedItems = 109, [Ephemeral] - Afk = 110, - IsGagged = 111, - ProcSpellSelfTargeted = 112, - IsAllegianceGagged = 113, - EquipmentSetTriggerPiece = 114, - Uninscribe = 115, - WieldOnUse = 116, - ChestClearedWhenClosed = 117, - NeverAttack = 118, - SuppressGenerateEffect = 119, - TreasureCorpse = 120, - EquipmentSetAddLevel = 121, - BarberActive = 122, - TopLayerPriority = 123, + Afk = 110, + IsGagged = 111, + ProcSpellSelfTargeted = 112, + IsAllegianceGagged = 113, + EquipmentSetTriggerPiece = 114, + Uninscribe = 115, + WieldOnUse = 116, + ChestClearedWhenClosed = 117, + NeverAttack = 118, + SuppressGenerateEffect = 119, + TreasureCorpse = 120, + EquipmentSetAddLevel = 121, + BarberActive = 122, + TopLayerPriority = 123, [SendOnLogin] - NoHeldItemShown = 124, + NoHeldItemShown = 124, [SendOnLogin] - LoginAtLifestone = 125, - OlthoiPk = 126, + LoginAtLifestone = 125, + OlthoiPk = 126, [SendOnLogin] - Account15Days = 127, - HadNoVitae = 128, - NoOlthoiTalk = 129, + Account15Days = 127, + HadNoVitae = 128, + NoOlthoiTalk = 129, [AssessmentProperty] - AutowieldLeft = 130, + AutowieldLeft = 130, /* Custom Properties */ - - LinkedPortalOneSummon = 9001, - LinkedPortalTwoSummon = 9002, - HouseEvicted = 9003, - UntrainedSkills = 9004, + LinkedPortalOneSummon = 9001, + LinkedPortalTwoSummon = 9002, + HouseEvicted = 9003, + UntrainedSkills = 9004, [Ephemeral] - IsEnvoy = 9005, - UnspecializedSkills = 9006, - FreeSkillResetRenewed = 9007, - FreeAttributeResetRenewed = 9008, - SkillTemplesTimerReset = 9009, - FreeMasteryResetRenewed = 9010, - + IsEnvoy = 9005, + UnspecializedSkills = 9006, + FreeSkillResetRenewed = 9007, + FreeAttributeResetRenewed = 9008, + SkillTemplesTimerReset = 9009, + FreeMasteryResetRenewed = 9010, } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs b/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs index 0ad4cc2996..a2f881b39b 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs @@ -7,98 +7,98 @@ namespace ACE.Entity.Enum.Properties // AssessmentProperty gets sent in successful appraisal public enum PropertyDataId : ushort { - Undef = 0, - Setup = 1, + Undef = 0, + Setup = 1, [SendOnLogin] - MotionTable = 2, - SoundTable = 3, + MotionTable = 2, + SoundTable = 3, [SendOnLogin] - CombatTable = 4, - QualityFilter = 5, - PaletteBase = 6, - ClothingBase = 7, - Icon = 8, + CombatTable = 4, + QualityFilter = 5, + PaletteBase = 6, + ClothingBase = 7, + Icon = 8, [AssessmentProperty] - EyesTexture = 9, + EyesTexture = 9, [AssessmentProperty] - NoseTexture = 10, + NoseTexture = 10, [AssessmentProperty] - MouthTexture = 11, - DefaultEyesTexture = 12, - DefaultNoseTexture = 13, - DefaultMouthTexture = 14, + MouthTexture = 11, + DefaultEyesTexture = 12, + DefaultNoseTexture = 13, + DefaultMouthTexture = 14, [AssessmentProperty] - HairPalette = 15, + HairPalette = 15, [AssessmentProperty] - EyesPalette = 16, + EyesPalette = 16, [AssessmentProperty] - SkinPalette = 17, - HeadObject = 18, - ActivationAnimation = 19, - InitMotion = 20, - ActivationSound = 21, - PhysicsEffectTable = 22, - UseSound = 23, - UseTargetAnimation = 24, - UseTargetSuccessAnimation = 25, - UseTargetFailureAnimation = 26, - UseUserAnimation = 27, - Spell = 28, - SpellComponent = 29, - PhysicsScript = 30, - LinkedPortalOne = 31, - WieldedTreasureType = 32, - InventoryTreasureType = 33, - ShopTreasureType = 34, - DeathTreasureType = 35, - MutateFilter = 36, - ItemSkillLimit = 37, - UseCreateItem = 38, - DeathSpell = 39, - VendorsClassId = 40, + SkinPalette = 17, + HeadObject = 18, + ActivationAnimation = 19, + InitMotion = 20, + ActivationSound = 21, + PhysicsEffectTable = 22, + UseSound = 23, + UseTargetAnimation = 24, + UseTargetSuccessAnimation = 25, + UseTargetFailureAnimation = 26, + UseUserAnimation = 27, + Spell = 28, + SpellComponent = 29, + PhysicsScript = 30, + LinkedPortalOne = 31, + WieldedTreasureType = 32, + InventoryTreasureType = 33, + ShopTreasureType = 34, + DeathTreasureType = 35, + MutateFilter = 36, + ItemSkillLimit = 37, + UseCreateItem = 38, + DeathSpell = 39, + VendorsClassId = 40, [AssessmentProperty] - ItemSpecializedOnly = 41, - HouseId = 42, - AccountHouseId = 43, - RestrictionEffect = 44, - CreationMutationFilter = 45, - TsysMutationFilter = 46, - LastPortal = 47, - LinkedPortalTwo = 48, - OriginalPortal = 49, - IconOverlay = 50, - IconOverlaySecondary = 51, - IconUnderlay = 52, - AugmentationMutationFilter = 53, - AugmentationEffect = 54, + ItemSpecializedOnly = 41, + HouseId = 42, + AccountHouseId = 43, + RestrictionEffect = 44, + CreationMutationFilter = 45, + TsysMutationFilter = 46, + LastPortal = 47, + LinkedPortalTwo = 48, + OriginalPortal = 49, + IconOverlay = 50, + IconOverlaySecondary = 51, + IconUnderlay = 52, + AugmentationMutationFilter = 53, + AugmentationEffect = 54, [AssessmentProperty] - ProcSpell = 55, - AugmentationCreateItem = 56, - AlternateCurrency = 57, - BlueSurgeSpell = 58, - YellowSurgeSpell = 59, - RedSurgeSpell = 60, - OlthoiDeathTreasureType = 61, + ProcSpell = 55, + AugmentationCreateItem = 56, + AlternateCurrency = 57, + BlueSurgeSpell = 58, + YellowSurgeSpell = 59, + RedSurgeSpell = 60, + OlthoiDeathTreasureType = 61, /* Custom Properties */ - PCAPRecordedWeenieHeader = 8001, - PCAPRecordedWeenieHeader2 = 8002, - PCAPRecordedObjectDesc = 8003, - PCAPRecordedPhysicsDesc = 8005, - PCAPRecordedParentLocation = 8009, - PCAPRecordedDefaultScript = 8019, - PCAPRecordedTimestamp0 = 8020, - PCAPRecordedTimestamp1 = 8021, - PCAPRecordedTimestamp2 = 8022, - PCAPRecordedTimestamp3 = 8023, - PCAPRecordedTimestamp4 = 8024, - PCAPRecordedTimestamp5 = 8025, - PCAPRecordedTimestamp6 = 8026, - PCAPRecordedTimestamp7 = 8027, - PCAPRecordedTimestamp8 = 8028, - PCAPRecordedTimestamp9 = 8029, + PCAPRecordedWeenieHeader = 8001, + PCAPRecordedWeenieHeader2 = 8002, + PCAPRecordedObjectDesc = 8003, + PCAPRecordedPhysicsDesc = 8005, + PCAPRecordedParentLocation = 8009, + PCAPRecordedDefaultScript = 8019, + PCAPRecordedTimestamp0 = 8020, + PCAPRecordedTimestamp1 = 8021, + PCAPRecordedTimestamp2 = 8022, + PCAPRecordedTimestamp3 = 8023, + PCAPRecordedTimestamp4 = 8024, + PCAPRecordedTimestamp5 = 8025, + PCAPRecordedTimestamp6 = 8026, + PCAPRecordedTimestamp7 = 8027, + PCAPRecordedTimestamp8 = 8028, + PCAPRecordedTimestamp9 = 8029, PCAPRecordedMaxVelocityEstimated = 8030, - PCAPPhysicsDIDDataTemplatedFrom = 8044, + PCAPPhysicsDIDDataTemplatedFrom = 8044, } public static class PropertyDataIdExtensions diff --git a/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs b/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs index 186d5bfe2f..97ee5b6a0a 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs @@ -7,219 +7,219 @@ namespace ACE.Entity.Enum.Properties // AssessmentProperty gets sent in successful appraisal public enum PropertyFloat : ushort { - Undef = 0, - HeartbeatInterval = 1, + Undef = 0, + HeartbeatInterval = 1, [Ephemeral] - HeartbeatTimestamp = 2, - HealthRate = 3, - StaminaRate = 4, + HeartbeatTimestamp = 2, + HealthRate = 3, + StaminaRate = 4, [AssessmentProperty] - ManaRate = 5, - HealthUponResurrection = 6, - StaminaUponResurrection = 7, - ManaUponResurrection = 8, - StartTime = 9, - StopTime = 10, - ResetInterval = 11, - Shade = 12, - ArmorModVsSlash = 13, - ArmorModVsPierce = 14, - ArmorModVsBludgeon = 15, - ArmorModVsCold = 16, - ArmorModVsFire = 17, - ArmorModVsAcid = 18, - ArmorModVsElectric = 19, - CombatSpeed = 20, - WeaponLength = 21, - DamageVariance = 22, - CurrentPowerMod = 23, - AccuracyMod = 24, - StrengthMod = 25, - MaximumVelocity = 26, - RotationSpeed = 27, - MotionTimestamp = 28, + ManaRate = 5, + HealthUponResurrection = 6, + StaminaUponResurrection = 7, + ManaUponResurrection = 8, + StartTime = 9, + StopTime = 10, + ResetInterval = 11, + Shade = 12, + ArmorModVsSlash = 13, + ArmorModVsPierce = 14, + ArmorModVsBludgeon = 15, + ArmorModVsCold = 16, + ArmorModVsFire = 17, + ArmorModVsAcid = 18, + ArmorModVsElectric = 19, + CombatSpeed = 20, + WeaponLength = 21, + DamageVariance = 22, + CurrentPowerMod = 23, + AccuracyMod = 24, + StrengthMod = 25, + MaximumVelocity = 26, + RotationSpeed = 27, + MotionTimestamp = 28, [AssessmentProperty] - WeaponDefense = 29, - WimpyLevel = 30, - VisualAwarenessRange = 31, - AuralAwarenessRange = 32, - PerceptionLevel = 33, - PowerupTime = 34, - MaxChargeDistance = 35, - ChargeSpeed = 36, - BuyPrice = 37, - SellPrice = 38, - DefaultScale = 39, - LockpickMod = 40, - RegenerationInterval = 41, - RegenerationTimestamp = 42, - GeneratorRadius = 43, - TimeToRot = 44, - DeathTimestamp = 45, - PkTimestamp = 46, - VictimTimestamp = 47, - LoginTimestamp = 48, - CreationTimestamp = 49, - MinimumTimeSincePk = 50, + WeaponDefense = 29, + WimpyLevel = 30, + VisualAwarenessRange = 31, + AuralAwarenessRange = 32, + PerceptionLevel = 33, + PowerupTime = 34, + MaxChargeDistance = 35, + ChargeSpeed = 36, + BuyPrice = 37, + SellPrice = 38, + DefaultScale = 39, + LockpickMod = 40, + RegenerationInterval = 41, + RegenerationTimestamp = 42, + GeneratorRadius = 43, + TimeToRot = 44, + DeathTimestamp = 45, + PkTimestamp = 46, + VictimTimestamp = 47, + LoginTimestamp = 48, + CreationTimestamp = 49, + MinimumTimeSincePk = 50, DeprecatedHousekeepingPriority = 51, - AbuseLoggingTimestamp = 52, + AbuseLoggingTimestamp = 52, [Ephemeral] - LastPortalTeleportTimestamp = 53, - UseRadius = 54, - HomeRadius = 55, - ReleasedTimestamp = 56, - MinHomeRadius = 57, - Facing = 58, + LastPortalTeleportTimestamp = 53, + UseRadius = 54, + HomeRadius = 55, + ReleasedTimestamp = 56, + MinHomeRadius = 57, + Facing = 58, [Ephemeral] - ResetTimestamp = 59, - LogoffTimestamp = 60, - EconRecoveryInterval = 61, - WeaponOffense = 62, - DamageMod = 63, - ResistSlash = 64, - ResistPierce = 65, - ResistBludgeon = 66, - ResistFire = 67, - ResistCold = 68, - ResistAcid = 69, - ResistElectric = 70, - ResistHealthBoost = 71, - ResistStaminaDrain = 72, - ResistStaminaBoost = 73, - ResistManaDrain = 74, - ResistManaBoost = 75, - Translucency = 76, - PhysicsScriptIntensity = 77, - Friction = 78, - Elasticity = 79, - AiUseMagicDelay = 80, - ItemMinSpellcraftMod = 81, - ItemMaxSpellcraftMod = 82, - ItemRankProbability = 83, - Shade2 = 84, - Shade3 = 85, - Shade4 = 86, + ResetTimestamp = 59, + LogoffTimestamp = 60, + EconRecoveryInterval = 61, + WeaponOffense = 62, + DamageMod = 63, + ResistSlash = 64, + ResistPierce = 65, + ResistBludgeon = 66, + ResistFire = 67, + ResistCold = 68, + ResistAcid = 69, + ResistElectric = 70, + ResistHealthBoost = 71, + ResistStaminaDrain = 72, + ResistStaminaBoost = 73, + ResistManaDrain = 74, + ResistManaBoost = 75, + Translucency = 76, + PhysicsScriptIntensity = 77, + Friction = 78, + Elasticity = 79, + AiUseMagicDelay = 80, + ItemMinSpellcraftMod = 81, + ItemMaxSpellcraftMod = 82, + ItemRankProbability = 83, + Shade2 = 84, + Shade3 = 85, + Shade4 = 86, [AssessmentProperty] - ItemEfficiency = 87, - ItemManaUpdateTimestamp = 88, - SpellGestureSpeedMod = 89, - SpellStanceSpeedMod = 90, - AllegianceAppraisalTimestamp = 91, - PowerLevel = 92, - AccuracyLevel = 93, - AttackAngle = 94, - AttackTimestamp = 95, - CheckpointTimestamp = 96, - SoldTimestamp = 97, - UseTimestamp = 98, + ItemEfficiency = 87, + ItemManaUpdateTimestamp = 88, + SpellGestureSpeedMod = 89, + SpellStanceSpeedMod = 90, + AllegianceAppraisalTimestamp = 91, + PowerLevel = 92, + AccuracyLevel = 93, + AttackAngle = 94, + AttackTimestamp = 95, + CheckpointTimestamp = 96, + SoldTimestamp = 97, + UseTimestamp = 98, [Ephemeral] - UseLockTimestamp = 99, + UseLockTimestamp = 99, [AssessmentProperty] - HealkitMod = 100, - FrozenTimestamp = 101, - HealthRateMod = 102, - AllegianceSwearTimestamp = 103, - ObviousRadarRange = 104, - HotspotCycleTime = 105, - HotspotCycleTimeVariance = 106, - SpamTimestamp = 107, - SpamRate = 108, - BondWieldedTreasure = 109, - BulkMod = 110, - SizeMod = 111, - GagTimestamp = 112, - GeneratorUpdateTimestamp = 113, - DeathSpamTimestamp = 114, - DeathSpamRate = 115, - WildAttackProbability = 116, - FocusedProbability = 117, - CrashAndTurnProbability = 118, - CrashAndTurnRadius = 119, - CrashAndTurnBias = 120, - GeneratorInitialDelay = 121, - AiAcquireHealth = 122, - AiAcquireStamina = 123, - AiAcquireMana = 124, + HealkitMod = 100, + FrozenTimestamp = 101, + HealthRateMod = 102, + AllegianceSwearTimestamp = 103, + ObviousRadarRange = 104, + HotspotCycleTime = 105, + HotspotCycleTimeVariance = 106, + SpamTimestamp = 107, + SpamRate = 108, + BondWieldedTreasure = 109, + BulkMod = 110, + SizeMod = 111, + GagTimestamp = 112, + GeneratorUpdateTimestamp = 113, + DeathSpamTimestamp = 114, + DeathSpamRate = 115, + WildAttackProbability = 116, + FocusedProbability = 117, + CrashAndTurnProbability = 118, + CrashAndTurnRadius = 119, + CrashAndTurnBias = 120, + GeneratorInitialDelay = 121, + AiAcquireHealth = 122, + AiAcquireStamina = 123, + AiAcquireMana = 124, /// /// this had a default of "1" - leaving comment to investigate potential options for defaulting these things (125) /// [SendOnLogin] - ResistHealthDrain = 125, - LifestoneProtectionTimestamp = 126, - AiCounteractEnchantment = 127, - AiDispelEnchantment = 128, - TradeTimestamp = 129, - AiTargetedDetectionRadius = 130, - EmotePriority = 131, + ResistHealthDrain = 125, + LifestoneProtectionTimestamp = 126, + AiCounteractEnchantment = 127, + AiDispelEnchantment = 128, + TradeTimestamp = 129, + AiTargetedDetectionRadius = 130, + EmotePriority = 131, [Ephemeral] - LastTeleportStartTimestamp = 132, - EventSpamTimestamp = 133, - EventSpamRate = 134, - InventoryOffset = 135, + LastTeleportStartTimestamp = 132, + EventSpamTimestamp = 133, + EventSpamRate = 134, + InventoryOffset = 135, [AssessmentProperty] - CriticalMultiplier = 136, + CriticalMultiplier = 136, [AssessmentProperty] - ManaStoneDestroyChance = 137, - SlayerDamageBonus = 138, - AllegianceInfoSpamTimestamp = 139, - AllegianceInfoSpamRate = 140, - NextSpellcastTimestamp = 141, + ManaStoneDestroyChance = 137, + SlayerDamageBonus = 138, + AllegianceInfoSpamTimestamp = 139, + AllegianceInfoSpamRate = 140, + NextSpellcastTimestamp = 141, [Ephemeral] - AppraisalRequestedTimestamp = 142, + AppraisalRequestedTimestamp = 142, AppraisalHeartbeatDueTimestamp = 143, [AssessmentProperty] - ManaConversionMod = 144, - LastPkAttackTimestamp = 145, - FellowshipUpdateTimestamp = 146, + ManaConversionMod = 144, + LastPkAttackTimestamp = 145, + FellowshipUpdateTimestamp = 146, [AssessmentProperty] - CriticalFrequency = 147, - LimboStartTimestamp = 148, + CriticalFrequency = 147, + LimboStartTimestamp = 148, [AssessmentProperty] - WeaponMissileDefense = 149, + WeaponMissileDefense = 149, [AssessmentProperty] - WeaponMagicDefense = 150, - IgnoreShield = 151, + WeaponMagicDefense = 150, + IgnoreShield = 151, [AssessmentProperty] - ElementalDamageMod = 152, - StartMissileAttackTimestamp = 153, - LastRareUsedTimestamp = 154, + ElementalDamageMod = 152, + StartMissileAttackTimestamp = 153, + LastRareUsedTimestamp = 154, [AssessmentProperty] - IgnoreArmor = 155, - ProcSpellRate = 156, + IgnoreArmor = 155, + ProcSpellRate = 156, [AssessmentProperty] - ResistanceModifier = 157, - AllegianceGagTimestamp = 158, + ResistanceModifier = 157, + AllegianceGagTimestamp = 158, [AssessmentProperty] - AbsorbMagicDamage = 159, - CachedMaxAbsorbMagicDamage = 160, - GagDuration = 161, - AllegianceGagDuration = 162, + AbsorbMagicDamage = 159, + CachedMaxAbsorbMagicDamage = 160, + GagDuration = 161, + AllegianceGagDuration = 162, [SendOnLogin] - GlobalXpMod = 163, - HealingModifier = 164, - ArmorModVsNether = 165, - ResistNether = 166, + GlobalXpMod = 163, + HealingModifier = 164, + ArmorModVsNether = 165, + ResistNether = 166, [AssessmentProperty] - CooldownDuration = 167, + CooldownDuration = 167, [SendOnLogin] - WeaponAuraOffense = 168, + WeaponAuraOffense = 168, [SendOnLogin] - WeaponAuraDefense = 169, + WeaponAuraDefense = 169, [SendOnLogin] - WeaponAuraElemental = 170, + WeaponAuraElemental = 170, [SendOnLogin] - WeaponAuraManaConv = 171, + WeaponAuraManaConv = 171, /* Custom Properties */ - PCAPRecordedWorkmanship = 8004, - PCAPRecordedVelocityX = 8010, - PCAPRecordedVelocityY = 8011, - PCAPRecordedVelocityZ = 8012, - PCAPRecordedAccelerationX = 8013, - PCAPRecordedAccelerationY = 8014, - PCAPRecordedAccelerationZ = 8015, - PCAPRecordeOmegaX = 8016, - PCAPRecordeOmegaY = 8017, - PCAPRecordeOmegaZ = 8018, + PCAPRecordedWorkmanship = 8004, + PCAPRecordedVelocityX = 8010, + PCAPRecordedVelocityY = 8011, + PCAPRecordedVelocityZ = 8012, + PCAPRecordedAccelerationX = 8013, + PCAPRecordedAccelerationY = 8014, + PCAPRecordedAccelerationZ = 8015, + PCAPRecordeOmegaX = 8016, + PCAPRecordeOmegaY = 8017, + PCAPRecordeOmegaZ = 8018, } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs b/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs index 37d01176ee..52427c7262 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs @@ -7,73 +7,73 @@ namespace ACE.Entity.Enum.Properties // AssessmentProperty gets sent in successful appraisal public enum PropertyInstanceId : ushort { - Undef = 0, - Owner = 1, - Container = 2, - Wielder = 3, - Freezer = 4, + Undef = 0, + Owner = 1, + Container = 2, + Wielder = 3, + Freezer = 4, [Ephemeral] - Viewer = 5, + Viewer = 5, [Ephemeral] - Generator = 6, - Scribe = 7, + Generator = 6, + Scribe = 7, [Ephemeral] - CurrentCombatTarget = 8, + CurrentCombatTarget = 8, [Ephemeral] - CurrentEnemy = 9, - ProjectileLauncher = 10, + CurrentEnemy = 9, + ProjectileLauncher = 10, [Ephemeral] - CurrentAttacker = 11, + CurrentAttacker = 11, [Ephemeral] - CurrentDamager = 12, + CurrentDamager = 12, [Ephemeral] - CurrentFollowTarget = 13, + CurrentFollowTarget = 13, [Ephemeral] - CurrentAppraisalTarget = 14, + CurrentAppraisalTarget = 14, [Ephemeral] CurrentFellowshipAppraisalTarget = 15, - ActivationTarget = 16, - Creator = 17, - Victim = 18, - Killer = 19, - Vendor = 20, - Customer = 21, - Bonded = 22, - Wounder = 23, + ActivationTarget = 16, + Creator = 17, + Victim = 18, + Killer = 19, + Vendor = 20, + Customer = 21, + Bonded = 22, + Wounder = 23, [SendOnLogin] - Allegiance = 24, + Allegiance = 24, [SendOnLogin] - Patron = 25, - Monarch = 26, + Patron = 25, + Monarch = 26, [Ephemeral] - CombatTarget = 27, + CombatTarget = 27, [Ephemeral] - HealthQueryTarget = 28, + HealthQueryTarget = 28, [Ephemeral] - LastUnlocker = 29, - CrashAndTurnTarget = 30, - AllowedActivator = 31, - HouseOwner = 32, - House = 33, - Slumlord = 34, + LastUnlocker = 29, + CrashAndTurnTarget = 30, + AllowedActivator = 31, + HouseOwner = 32, + House = 33, + Slumlord = 34, [Ephemeral] - ManaQueryTarget = 35, - CurrentGame = 36, + ManaQueryTarget = 35, + CurrentGame = 36, [Ephemeral] - RequestedAppraisalTarget = 37, - AllowedWielder = 38, - AssignedTarget = 39, - LimboSource = 40, - Snooper = 41, - TeleportedCharacter = 42, + RequestedAppraisalTarget = 37, + AllowedWielder = 38, + AssignedTarget = 39, + LimboSource = 40, + Snooper = 41, + TeleportedCharacter = 42, [Ephemeral] - Pet = 43, - PetOwner = 44, + Pet = 43, + PetOwner = 44, [Ephemeral] - PetDevice = 45, + PetDevice = 45, /* Custom Properties */ - PCAPRecordedObjectIID = 8000, - PCAPRecordedParentIID = 8008, + PCAPRecordedObjectIID = 8000, + PCAPRecordedParentIID = 8008, } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs index 06418b6a4d..fe0b818874 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs @@ -9,679 +9,632 @@ namespace ACE.Entity.Enum.Properties // AssessmentProperty gets sent in successful appraisal public enum PropertyInt : ushort { - Undef = 0, - ItemType = 1, - [AssessmentProperty] - CreatureType = 2, - PaletteTemplate = 3, - ClothingPriority = 4, - EncumbranceVal = 5, // ENCUMB_VAL_INT, - ItemsCapacity = 6, - [SendOnLogin] - ContainersCapacity = 7, - Mass = 8, - ValidLocations = 9, // LOCATIONS_INT, - CurrentWieldedLocation = 10, - MaxStackSize = 11, - StackSize = 12, - StackUnitEncumbrance = 13, - StackUnitMass = 14, - StackUnitValue = 15, - ItemUseable = 16, - [AssessmentProperty] - RareId = 17, - UiEffects = 18, - [AssessmentProperty] - Value = 19, - [SendOnLogin] - [Ephemeral] - CoinValue = 20, - TotalExperience = 21, - AvailableCharacter = 22, - TotalSkillCredits = 23, - [SendOnLogin] - AvailableSkillCredits = 24, - [SendOnLogin] - [AssessmentProperty] - Level = 25, - [AssessmentProperty] - AccountRequirements = 26, - ArmorType = 27, - [AssessmentProperty] - ArmorLevel = 28, - AllegianceCpPool = 29, - [SendOnLogin] - [AssessmentProperty] - AllegianceRank = 30, - ChannelsAllowed = 31, - ChannelsActive = 32, - [AssessmentProperty] - Bonded = 33, - MonarchsRank = 34, - [AssessmentProperty] - AllegianceFollowers = 35, - [AssessmentProperty] - ResistMagic = 36, - ResistItemAppraisal = 37, - [AssessmentProperty] - ResistLockpick = 38, - DeprecatedResistRepair = 39, - [SendOnLogin] - CombatMode = 40, - CurrentAttackHeight = 41, - CombatCollisions = 42, - [SendOnLogin] - [AssessmentProperty] - NumDeaths = 43, - Damage = 44, - [AssessmentProperty] - DamageType = 45, - DefaultCombatStyle = 46, - [SendOnLogin] - [AssessmentProperty] - AttackType = 47, - WeaponSkill = 48, - WeaponTime = 49, - AmmoType = 50, - CombatUse = 51, - ParentLocation = 52, + Undef = 0, + ItemType = 1, + [AssessmentProperty] + CreatureType = 2, + PaletteTemplate = 3, + ClothingPriority = 4, + EncumbranceVal = 5, // ENCUMB_VAL_INT, + ItemsCapacity = 6, + [SendOnLogin] + ContainersCapacity = 7, + Mass = 8, + ValidLocations = 9, // LOCATIONS_INT, + CurrentWieldedLocation = 10, + MaxStackSize = 11, + StackSize = 12, + StackUnitEncumbrance = 13, + StackUnitMass = 14, + StackUnitValue = 15, + ItemUseable = 16, + [AssessmentProperty] + RareId = 17, + UiEffects = 18, + [AssessmentProperty] + Value = 19, + [SendOnLogin][Ephemeral] + CoinValue = 20, + TotalExperience = 21, + AvailableCharacter = 22, + TotalSkillCredits = 23, + [SendOnLogin] + AvailableSkillCredits = 24, + [SendOnLogin][AssessmentProperty] + Level = 25, + [AssessmentProperty] + AccountRequirements = 26, + ArmorType = 27, + [AssessmentProperty] + ArmorLevel = 28, + AllegianceCpPool = 29, + [SendOnLogin][AssessmentProperty] + AllegianceRank = 30, + ChannelsAllowed = 31, + ChannelsActive = 32, + [AssessmentProperty] + Bonded = 33, + MonarchsRank = 34, + [AssessmentProperty] + AllegianceFollowers = 35, + [AssessmentProperty] + ResistMagic = 36, + ResistItemAppraisal = 37, + [AssessmentProperty] + ResistLockpick = 38, + DeprecatedResistRepair = 39, + [SendOnLogin] + CombatMode = 40, + CurrentAttackHeight = 41, + CombatCollisions = 42, + [SendOnLogin][AssessmentProperty] + NumDeaths = 43, + Damage = 44, + [AssessmentProperty] + DamageType = 45, + DefaultCombatStyle = 46, + [SendOnLogin][AssessmentProperty] + AttackType = 47, + WeaponSkill = 48, + WeaponTime = 49, + AmmoType = 50, + CombatUse = 51, + ParentLocation = 52, /// /// TODO: Migrate inventory order away from this and instead use the new InventoryOrder property /// TODO: PlacementPosition is used (very sparingly) in cache.bin, so it has (or had) a meaning at one point before we hijacked it /// TODO: and used it for our own inventory order /// - PlacementPosition = 53, - WeaponEncumbrance = 54, - WeaponMass = 55, - ShieldValue = 56, - ShieldEncumbrance = 57, - MissileInventoryLocation = 58, - FullDamageType = 59, - WeaponRange = 60, - AttackersSkill = 61, - DefendersSkill = 62, - AttackersSkillValue = 63, - AttackersClass = 64, - Placement = 65, - CheckpointStatus = 66, - Tolerance = 67, - TargetingTactic = 68, - CombatTactic = 69, - HomesickTargetingTactic = 70, - NumFollowFailures = 71, - FriendType = 72, - FoeType = 73, - MerchandiseItemTypes = 74, - MerchandiseMinValue = 75, - MerchandiseMaxValue = 76, - NumItemsSold = 77, - NumItemsBought = 78, - MoneyIncome = 79, - MoneyOutflow = 80, + PlacementPosition = 53, + WeaponEncumbrance = 54, + WeaponMass = 55, + ShieldValue = 56, + ShieldEncumbrance = 57, + MissileInventoryLocation = 58, + FullDamageType = 59, + WeaponRange = 60, + AttackersSkill = 61, + DefendersSkill = 62, + AttackersSkillValue = 63, + AttackersClass = 64, + Placement = 65, + CheckpointStatus = 66, + Tolerance = 67, + TargetingTactic = 68, + CombatTactic = 69, + HomesickTargetingTactic = 70, + NumFollowFailures = 71, + FriendType = 72, + FoeType = 73, + MerchandiseItemTypes = 74, + MerchandiseMinValue = 75, + MerchandiseMaxValue = 76, + NumItemsSold = 77, + NumItemsBought = 78, + MoneyIncome = 79, + MoneyOutflow = 80, [Ephemeral] - MaxGeneratedObjects = 81, + MaxGeneratedObjects = 81, [Ephemeral] - InitGeneratedObjects = 82, - ActivationResponse = 83, - OriginalValue = 84, - NumMoveFailures = 85, - [AssessmentProperty] - MinLevel = 86, + InitGeneratedObjects = 82, + ActivationResponse = 83, + OriginalValue = 84, + NumMoveFailures = 85, [AssessmentProperty] - MaxLevel = 87, - LockpickMod = 88, + MinLevel = 86, [AssessmentProperty] - BoosterEnum = 89, + MaxLevel = 87, + LockpickMod = 88, [AssessmentProperty] - BoostValue = 90, + BoosterEnum = 89, [AssessmentProperty] - MaxStructure = 91, + BoostValue = 90, [AssessmentProperty] - Structure = 92, - PhysicsState = 93, - TargetType = 94, - RadarBlipColor = 95, - EncumbranceCapacity = 96, - LoginTimestamp = 97, - [SendOnLogin] - [AssessmentProperty] - CreationTimestamp = 98, - PkLevelModifier = 99, - GeneratorType = 100, - AiAllowedCombatStyle = 101, - LogoffTimestamp = 102, - GeneratorDestructionType = 103, - ActivationCreateClass = 104, + MaxStructure = 91, [AssessmentProperty] - ItemWorkmanship = 105, + Structure = 92, + PhysicsState = 93, + TargetType = 94, + RadarBlipColor = 95, + EncumbranceCapacity = 96, + LoginTimestamp = 97, + [SendOnLogin][AssessmentProperty] + CreationTimestamp = 98, + PkLevelModifier = 99, + GeneratorType = 100, + AiAllowedCombatStyle = 101, + LogoffTimestamp = 102, + GeneratorDestructionType = 103, + ActivationCreateClass = 104, [AssessmentProperty] - ItemSpellcraft = 106, + ItemWorkmanship = 105, [AssessmentProperty] - ItemCurMana = 107, + ItemSpellcraft = 106, [AssessmentProperty] - ItemMaxMana = 108, + ItemCurMana = 107, [AssessmentProperty] - ItemDifficulty = 109, + ItemMaxMana = 108, [AssessmentProperty] - ItemAllegianceRankLimit = 110, + ItemDifficulty = 109, [AssessmentProperty] - PortalBitmask = 111, - AdvocateLevel = 112, - [SendOnLogin] + ItemAllegianceRankLimit = 110, [AssessmentProperty] - Gender = 113, + PortalBitmask = 111, + AdvocateLevel = 112, + [SendOnLogin][AssessmentProperty] + Gender = 113, [AssessmentProperty] - Attuned = 114, + Attuned = 114, [AssessmentProperty] - ItemSkillLevelLimit = 115, - GateLogic = 116, + ItemSkillLevelLimit = 115, + GateLogic = 116, [AssessmentProperty] - ItemManaCost = 117, - Logoff = 118, - Active = 119, - AttackHeight = 120, - NumAttackFailures = 121, - AiCpThreshold = 122, - AiAdvancementStrategy = 123, - Version = 124, + ItemManaCost = 117, + Logoff = 118, + Active = 119, + AttackHeight = 120, + NumAttackFailures = 121, + AiCpThreshold = 122, + AiAdvancementStrategy = 123, + Version = 124, + [SendOnLogin][AssessmentProperty] + Age = 125, + VendorHappyMean = 126, + VendorHappyVariance = 127, + CloakStatus = 128, [SendOnLogin] + VitaeCpPool = 129, + NumServicesSold = 130, [AssessmentProperty] - Age = 125, - VendorHappyMean = 126, - VendorHappyVariance = 127, - CloakStatus = 128, + MaterialType = 131, [SendOnLogin] - VitaeCpPool = 129, - NumServicesSold = 130, - [AssessmentProperty] - MaterialType = 131, - [SendOnLogin] - NumAllegianceBreaks = 132, + NumAllegianceBreaks = 132, [Ephemeral] - ShowableOnRadar = 133, - [SendOnLogin] - [AssessmentProperty] - PlayerKillerStatus = 134, - VendorHappyMaxItems = 135, - ScorePageNum = 136, - ScoreConfigNum = 137, - ScoreNumScores = 138, - [SendOnLogin] - DeathLevel = 139, - AiOptions = 140, - OpenToEveryone = 141, - GeneratorTimeType = 142, - GeneratorStartTime = 143, - GeneratorEndTime = 144, - GeneratorEndDestructionType = 145, - XpOverride = 146, - NumCrashAndTurns = 147, - ComponentWarningThreshold = 148, - HouseStatus = 149, - HookPlacement = 150, - HookType = 151, - HookItemType = 152, - AiPpThreshold = 153, - GeneratorVersion = 154, - HouseType = 155, - PickupEmoteOffset = 156, - WeenieIteration = 157, - [AssessmentProperty] - WieldRequirements = 158, - [AssessmentProperty] - WieldSkillType = 159, - [AssessmentProperty] - WieldDifficulty = 160, - HouseMaxHooksUsable = 161, + ShowableOnRadar = 133, + [SendOnLogin][AssessmentProperty] + PlayerKillerStatus = 134, + VendorHappyMaxItems = 135, + ScorePageNum = 136, + ScoreConfigNum = 137, + ScoreNumScores = 138, + [SendOnLogin] + DeathLevel = 139, + AiOptions = 140, + OpenToEveryone = 141, + GeneratorTimeType = 142, + GeneratorStartTime = 143, + GeneratorEndTime = 144, + GeneratorEndDestructionType = 145, + XpOverride = 146, + NumCrashAndTurns = 147, + ComponentWarningThreshold = 148, + HouseStatus = 149, + HookPlacement = 150, + HookType = 151, + HookItemType = 152, + AiPpThreshold = 153, + GeneratorVersion = 154, + HouseType = 155, + PickupEmoteOffset = 156, + WeenieIteration = 157, + [AssessmentProperty] + WieldRequirements = 158, + [AssessmentProperty] + WieldSkillType = 159, + [AssessmentProperty] + WieldDifficulty = 160, + HouseMaxHooksUsable = 161, [Ephemeral] - HouseCurrentHooksUsable = 162, - AllegianceMinLevel = 163, - AllegianceMaxLevel = 164, - HouseRelinkHookCount = 165, - [AssessmentProperty] - SlayerCreatureType = 166, - ConfirmationInProgress = 167, - ConfirmationTypeInProgress = 168, - TsysMutationData = 169, - [AssessmentProperty] - NumItemsInMaterial = 170, - [AssessmentProperty] - NumTimesTinkered = 171, - [AssessmentProperty] - AppraisalLongDescDecoration = 172, - [AssessmentProperty] - AppraisalLockpickSuccessPercent = 173, - [AssessmentProperty] - [Ephemeral] - AppraisalPages = 174, - [AssessmentProperty] - [Ephemeral] - AppraisalMaxPages = 175, - [AssessmentProperty] - AppraisalItemSkill = 176, - [AssessmentProperty] - GemCount = 177, - [AssessmentProperty] - GemType = 178, - [AssessmentProperty] - ImbuedEffect = 179, - AttackersRawSkillValue = 180, - [SendOnLogin] - [AssessmentProperty] - ChessRank = 181, - ChessTotalGames = 182, - ChessGamesWon = 183, - ChessGamesLost = 184, - TypeOfAlteration = 185, - SkillToBeAltered = 186, - SkillAlterationCount = 187, - [SendOnLogin] - [AssessmentProperty] - HeritageGroup = 188, - TransferFromAttribute = 189, - TransferToAttribute = 190, - AttributeTransferCount = 191, - [SendOnLogin] - [AssessmentProperty] - FakeFishingSkill = 192, - [AssessmentProperty] - NumKeys = 193, - DeathTimestamp = 194, - PkTimestamp = 195, - VictimTimestamp = 196, - HookGroup = 197, - AllegianceSwearTimestamp = 198, - [SendOnLogin] - HousePurchaseTimestamp = 199, - RedirectableEquippedArmorCount = 200, - MeleeDefenseImbuedEffectTypeCache = 201, - MissileDefenseImbuedEffectTypeCache = 202, - MagicDefenseImbuedEffectTypeCache = 203, - [AssessmentProperty] - ElementalDamageBonus = 204, - ImbueAttempts = 205, - ImbueSuccesses = 206, - CreatureKills = 207, - PlayerKillsPk = 208, - PlayerKillsPkl = 209, - RaresTierOne = 210, - RaresTierTwo = 211, - RaresTierThree = 212, - RaresTierFour = 213, - RaresTierFive = 214, - AugmentationStat = 215, - AugmentationFamilyStat = 216, - AugmentationInnateFamily = 217, - [SendOnLogin] - AugmentationInnateStrength = 218, - [SendOnLogin] - AugmentationInnateEndurance = 219, - [SendOnLogin] - AugmentationInnateCoordination = 220, - [SendOnLogin] - AugmentationInnateQuickness = 221, - [SendOnLogin] - AugmentationInnateFocus = 222, - [SendOnLogin] - AugmentationInnateSelf = 223, - [SendOnLogin] - AugmentationSpecializeSalvaging = 224, - [SendOnLogin] - AugmentationSpecializeItemTinkering = 225, - [SendOnLogin] - AugmentationSpecializeArmorTinkering = 226, + HouseCurrentHooksUsable = 162, + AllegianceMinLevel = 163, + AllegianceMaxLevel = 164, + HouseRelinkHookCount = 165, + [AssessmentProperty] + SlayerCreatureType = 166, + ConfirmationInProgress = 167, + ConfirmationTypeInProgress = 168, + TsysMutationData = 169, + [AssessmentProperty] + NumItemsInMaterial = 170, + [AssessmentProperty] + NumTimesTinkered = 171, + [AssessmentProperty] + AppraisalLongDescDecoration = 172, + [AssessmentProperty] + AppraisalLockpickSuccessPercent = 173, + [AssessmentProperty][Ephemeral] + AppraisalPages = 174, + [AssessmentProperty][Ephemeral] + AppraisalMaxPages = 175, + [AssessmentProperty] + AppraisalItemSkill = 176, + [AssessmentProperty] + GemCount = 177, + [AssessmentProperty] + GemType = 178, + [AssessmentProperty] + ImbuedEffect = 179, + AttackersRawSkillValue = 180, + [SendOnLogin][AssessmentProperty] + ChessRank = 181, + ChessTotalGames = 182, + ChessGamesWon = 183, + ChessGamesLost = 184, + TypeOfAlteration = 185, + SkillToBeAltered = 186, + SkillAlterationCount = 187, + [SendOnLogin][AssessmentProperty] + HeritageGroup = 188, + TransferFromAttribute = 189, + TransferToAttribute = 190, + AttributeTransferCount = 191, + [SendOnLogin][AssessmentProperty] + FakeFishingSkill = 192, + [AssessmentProperty] + NumKeys = 193, + DeathTimestamp = 194, + PkTimestamp = 195, + VictimTimestamp = 196, + HookGroup = 197, + AllegianceSwearTimestamp = 198, + [SendOnLogin] + HousePurchaseTimestamp = 199, + RedirectableEquippedArmorCount = 200, + MeleeDefenseImbuedEffectTypeCache = 201, + MissileDefenseImbuedEffectTypeCache = 202, + MagicDefenseImbuedEffectTypeCache = 203, + [AssessmentProperty] + ElementalDamageBonus = 204, + ImbueAttempts = 205, + ImbueSuccesses = 206, + CreatureKills = 207, + PlayerKillsPk = 208, + PlayerKillsPkl = 209, + RaresTierOne = 210, + RaresTierTwo = 211, + RaresTierThree = 212, + RaresTierFour = 213, + RaresTierFive = 214, + AugmentationStat = 215, + AugmentationFamilyStat = 216, + AugmentationInnateFamily = 217, + [SendOnLogin] + AugmentationInnateStrength = 218, + [SendOnLogin] + AugmentationInnateEndurance = 219, + [SendOnLogin] + AugmentationInnateCoordination = 220, + [SendOnLogin] + AugmentationInnateQuickness = 221, + [SendOnLogin] + AugmentationInnateFocus = 222, + [SendOnLogin] + AugmentationInnateSelf = 223, + [SendOnLogin] + AugmentationSpecializeSalvaging = 224, + [SendOnLogin] + AugmentationSpecializeItemTinkering = 225, + [SendOnLogin] + AugmentationSpecializeArmorTinkering = 226, [SendOnLogin] AugmentationSpecializeMagicItemTinkering = 227, [SendOnLogin] - AugmentationSpecializeWeaponTinkering = 228, + AugmentationSpecializeWeaponTinkering = 228, [SendOnLogin] - AugmentationExtraPackSlot = 229, + AugmentationExtraPackSlot = 229, [SendOnLogin] - AugmentationIncreasedCarryingCapacity = 230, + AugmentationIncreasedCarryingCapacity = 230, [SendOnLogin] - AugmentationLessDeathItemLoss = 231, + AugmentationLessDeathItemLoss = 231, [SendOnLogin] - AugmentationSpellsRemainPastDeath = 232, + AugmentationSpellsRemainPastDeath = 232, [SendOnLogin] - AugmentationCriticalDefense = 233, + AugmentationCriticalDefense = 233, [SendOnLogin] - AugmentationBonusXp = 234, + AugmentationBonusXp = 234, [SendOnLogin] - AugmentationBonusSalvage = 235, + AugmentationBonusSalvage = 235, [SendOnLogin] - AugmentationBonusImbueChance = 236, + AugmentationBonusImbueChance = 236, [SendOnLogin] - AugmentationFasterRegen = 237, + AugmentationFasterRegen = 237, [SendOnLogin] - AugmentationIncreasedSpellDuration = 238, - AugmentationResistanceFamily = 239, + AugmentationIncreasedSpellDuration = 238, + AugmentationResistanceFamily = 239, [SendOnLogin] - AugmentationResistanceSlash = 240, + AugmentationResistanceSlash = 240, [SendOnLogin] - AugmentationResistancePierce = 241, + AugmentationResistancePierce = 241, [SendOnLogin] - AugmentationResistanceBlunt = 242, + AugmentationResistanceBlunt = 242, [SendOnLogin] - AugmentationResistanceAcid = 243, + AugmentationResistanceAcid = 243, [SendOnLogin] - AugmentationResistanceFire = 244, + AugmentationResistanceFire = 244, [SendOnLogin] - AugmentationResistanceFrost = 245, + AugmentationResistanceFrost = 245, [SendOnLogin] - AugmentationResistanceLightning = 246, - RaresTierOneLogin = 247, - RaresTierTwoLogin = 248, - RaresTierThreeLogin = 249, - RaresTierFourLogin = 250, - RaresTierFiveLogin = 251, - RaresLoginTimestamp = 252, - RaresTierSix = 253, - RaresTierSeven = 254, - RaresTierSixLogin = 255, - RaresTierSevenLogin = 256, - [AssessmentProperty] - ItemAttributeLimit = 257, - [AssessmentProperty] - ItemAttributeLevelLimit = 258, - [AssessmentProperty] - ItemAttribute2ndLimit = 259, - [AssessmentProperty] - ItemAttribute2ndLevelLimit = 260, - [AssessmentProperty] - CharacterTitleId = 261, + AugmentationResistanceLightning = 246, + RaresTierOneLogin = 247, + RaresTierTwoLogin = 248, + RaresTierThreeLogin = 249, + RaresTierFourLogin = 250, + RaresTierFiveLogin = 251, + RaresLoginTimestamp = 252, + RaresTierSix = 253, + RaresTierSeven = 254, + RaresTierSixLogin = 255, + RaresTierSevenLogin = 256, [AssessmentProperty] - NumCharacterTitles = 262, + ItemAttributeLimit = 257, [AssessmentProperty] - ResistanceModifierType = 263, - FreeTinkersBitfield = 264, + ItemAttributeLevelLimit = 258, [AssessmentProperty] - EquipmentSetId = 265, - PetClass = 266, + ItemAttribute2ndLimit = 259, [AssessmentProperty] - Lifespan = 267, + ItemAttribute2ndLevelLimit = 260, [AssessmentProperty] - [Ephemeral] - RemainingLifespan = 268, - UseCreateQuantity = 269, + CharacterTitleId = 261, [AssessmentProperty] - WieldRequirements2 = 270, + NumCharacterTitles = 262, [AssessmentProperty] - WieldSkillType2 = 271, + ResistanceModifierType = 263, + FreeTinkersBitfield = 264, [AssessmentProperty] - WieldDifficulty2 = 272, + EquipmentSetId = 265, + PetClass = 266, [AssessmentProperty] - WieldRequirements3 = 273, + Lifespan = 267, + [AssessmentProperty][Ephemeral] + RemainingLifespan = 268, + UseCreateQuantity = 269, [AssessmentProperty] - WieldSkillType3 = 274, + WieldRequirements2 = 270, [AssessmentProperty] - WieldDifficulty3 = 275, + WieldSkillType2 = 271, [AssessmentProperty] - WieldRequirements4 = 276, + WieldDifficulty2 = 272, [AssessmentProperty] - WieldSkillType4 = 277, + WieldRequirements3 = 273, [AssessmentProperty] - WieldDifficulty4 = 278, + WieldSkillType3 = 274, [AssessmentProperty] - Unique = 279, + WieldDifficulty3 = 275, [AssessmentProperty] - SharedCooldown = 280, - [SendOnLogin] + WieldRequirements4 = 276, [AssessmentProperty] - Faction1Bits = 281, - Faction2Bits = 282, - Faction3Bits = 283, - Hatred1Bits = 284, - Hatred2Bits = 285, - Hatred3Bits = 286, - [SendOnLogin] + WieldSkillType4 = 277, [AssessmentProperty] - SocietyRankCelhan = 287, - [SendOnLogin] + WieldDifficulty4 = 278, [AssessmentProperty] - SocietyRankEldweb = 288, - [SendOnLogin] + Unique = 279, [AssessmentProperty] - SocietyRankRadblo = 289, - HearLocalSignals = 290, - HearLocalSignalsRadius = 291, + SharedCooldown = 280, + [SendOnLogin][AssessmentProperty] + Faction1Bits = 281, + Faction2Bits = 282, + Faction3Bits = 283, + Hatred1Bits = 284, + Hatred2Bits = 285, + Hatred3Bits = 286, + [SendOnLogin][AssessmentProperty] + SocietyRankCelhan = 287, + [SendOnLogin][AssessmentProperty] + SocietyRankEldweb = 288, + [SendOnLogin][AssessmentProperty] + SocietyRankRadblo = 289, + HearLocalSignals = 290, + HearLocalSignalsRadius = 291, [AssessmentProperty] - Cleaving = 292, - AugmentationSpecializeGearcraft = 293, + Cleaving = 292, + AugmentationSpecializeGearcraft = 293, [SendOnLogin] - AugmentationInfusedCreatureMagic = 294, + AugmentationInfusedCreatureMagic = 294, [SendOnLogin] - AugmentationInfusedItemMagic = 295, + AugmentationInfusedItemMagic = 295, [SendOnLogin] - AugmentationInfusedLifeMagic = 296, + AugmentationInfusedLifeMagic = 296, [SendOnLogin] - AugmentationInfusedWarMagic = 297, + AugmentationInfusedWarMagic = 297, [SendOnLogin] - AugmentationCriticalExpertise = 298, + AugmentationCriticalExpertise = 298, [SendOnLogin] - AugmentationCriticalPower = 299, + AugmentationCriticalPower = 299, [SendOnLogin] - AugmentationSkilledMelee = 300, + AugmentationSkilledMelee = 300, [SendOnLogin] - AugmentationSkilledMissile = 301, + AugmentationSkilledMissile = 301, [SendOnLogin] - AugmentationSkilledMagic = 302, - [AssessmentProperty] - ImbuedEffect2 = 303, + AugmentationSkilledMagic = 302, [AssessmentProperty] - ImbuedEffect3 = 304, + ImbuedEffect2 = 303, [AssessmentProperty] - ImbuedEffect4 = 305, - [AssessmentProperty] - ImbuedEffect5 = 306, - [SendOnLogin] + ImbuedEffect3 = 304, [AssessmentProperty] - DamageRating = 307, - [SendOnLogin] + ImbuedEffect4 = 305, [AssessmentProperty] - DamageResistRating = 308, + ImbuedEffect5 = 306, + [SendOnLogin][AssessmentProperty] + DamageRating = 307, + [SendOnLogin][AssessmentProperty] + DamageResistRating = 308, [SendOnLogin] - AugmentationDamageBonus = 309, + AugmentationDamageBonus = 309, [SendOnLogin] - AugmentationDamageReduction = 310, - ImbueStackingBits = 311, + AugmentationDamageReduction = 310, + ImbueStackingBits = 311, [SendOnLogin] - HealOverTime = 312, + HealOverTime = 312, + [SendOnLogin][AssessmentProperty] + CritRating = 313, + [SendOnLogin][AssessmentProperty] + CritDamageRating = 314, + [SendOnLogin][AssessmentProperty] + CritResistRating = 315, + [SendOnLogin][AssessmentProperty] + CritDamageResistRating = 316, [SendOnLogin] - [AssessmentProperty] - CritRating = 313, + HealingResistRating = 317, [SendOnLogin] + DamageOverTime = 318, [AssessmentProperty] - CritDamageRating = 314, - [SendOnLogin] + ItemMaxLevel = 319, [AssessmentProperty] - CritResistRating = 315, + ItemXpStyle = 320, + EquipmentSetExtra = 321, [SendOnLogin] + AetheriaBitfield = 322, + [SendOnLogin][AssessmentProperty] + HealingBoostRating = 323, [AssessmentProperty] - CritDamageResistRating = 316, - [SendOnLogin] - HealingResistRating = 317, + HeritageSpecificArmor = 324, + AlternateRacialSkills = 325, [SendOnLogin] - DamageOverTime = 318, - [AssessmentProperty] - ItemMaxLevel = 319, - [AssessmentProperty] - ItemXpStyle = 320, - EquipmentSetExtra = 321, + AugmentationJackOfAllTrades = 326, + AugmentationResistanceNether = 327, [SendOnLogin] - AetheriaBitfield = 322, + AugmentationInfusedVoidMagic = 328, [SendOnLogin] - [AssessmentProperty] - HealingBoostRating = 323, - [AssessmentProperty] - HeritageSpecificArmor = 324, - AlternateRacialSkills = 325, + WeaknessRating = 329, [SendOnLogin] - AugmentationJackOfAllTrades = 326, - AugmentationResistanceNether = 327, + NetherOverTime = 330, [SendOnLogin] - AugmentationInfusedVoidMagic = 328, + NetherResistRating = 331, + LuminanceAward = 332, [SendOnLogin] - WeaknessRating = 329, + LumAugDamageRating = 333, [SendOnLogin] - NetherOverTime = 330, + LumAugDamageReductionRating = 334, [SendOnLogin] - NetherResistRating = 331, - LuminanceAward = 332, + LumAugCritDamageRating = 335, [SendOnLogin] - LumAugDamageRating = 333, + LumAugCritReductionRating = 336, [SendOnLogin] - LumAugDamageReductionRating = 334, + LumAugSurgeEffectRating = 337, [SendOnLogin] - LumAugCritDamageRating = 335, + LumAugSurgeChanceRating = 338, [SendOnLogin] - LumAugCritReductionRating = 336, + LumAugItemManaUsage = 339, [SendOnLogin] - LumAugSurgeEffectRating = 337, + LumAugItemManaGain = 340, [SendOnLogin] - LumAugSurgeChanceRating = 338, + LumAugVitality = 341, [SendOnLogin] - LumAugItemManaUsage = 339, + LumAugHealingRating = 342, [SendOnLogin] - LumAugItemManaGain = 340, + LumAugSkilledCraft = 343, [SendOnLogin] - LumAugVitality = 341, - [SendOnLogin] - LumAugHealingRating = 342, - [SendOnLogin] - LumAugSkilledCraft = 343, - [SendOnLogin] - LumAugSkilledSpec = 344, - LumAugNoDestroyCraft = 345, - RestrictInteraction = 346, - [SendOnLogin] - OlthoiLootTimestamp = 347, - OlthoiLootStep = 348, - UseCreatesContractId = 349, + LumAugSkilledSpec = 344, + LumAugNoDestroyCraft = 345, + RestrictInteraction = 346, [SendOnLogin] + OlthoiLootTimestamp = 347, + OlthoiLootStep = 348, + UseCreatesContractId = 349, + [SendOnLogin][AssessmentProperty] + DotResistRating = 350, + [SendOnLogin][AssessmentProperty] + LifeResistRating = 351, [AssessmentProperty] - DotResistRating = 350, - [SendOnLogin] - [AssessmentProperty] - LifeResistRating = 351, + CloakWeaveProc = 352, [AssessmentProperty] - CloakWeaveProc = 352, - [AssessmentProperty] - WeaponType = 353, + WeaponType = 353, [SendOnLogin] - MeleeMastery = 354, + MeleeMastery = 354, [SendOnLogin] - RangedMastery = 355, - SneakAttackRating = 356, - RecklessnessRating = 357, - DeceptionRating = 358, - CombatPetRange = 359, + RangedMastery = 355, + SneakAttackRating = 356, + RecklessnessRating = 357, + DeceptionRating = 358, + CombatPetRange = 359, [SendOnLogin] - WeaponAuraDamage = 360, + WeaponAuraDamage = 360, [SendOnLogin] - WeaponAuraSpeed = 361, + WeaponAuraSpeed = 361, [SendOnLogin] - SummoningMastery = 362, - HeartbeatLifespan = 363, - UseLevelRequirement = 364, + SummoningMastery = 362, + HeartbeatLifespan = 363, + UseLevelRequirement = 364, [SendOnLogin] - LumAugAllSkills = 365, - [AssessmentProperty] - UseRequiresSkill = 366, + LumAugAllSkills = 365, [AssessmentProperty] - UseRequiresSkillLevel = 367, + UseRequiresSkill = 366, [AssessmentProperty] - UseRequiresSkillSpec = 368, + UseRequiresSkillLevel = 367, [AssessmentProperty] - UseRequiresLevel = 369, - [SendOnLogin] - [AssessmentProperty] - GearDamage = 370, - [SendOnLogin] - [AssessmentProperty] - GearDamageResist = 371, - [SendOnLogin] - [AssessmentProperty] - GearCrit = 372, - [SendOnLogin] + UseRequiresSkillSpec = 368, [AssessmentProperty] - GearCritResist = 373, - [SendOnLogin] - [AssessmentProperty] - GearCritDamage = 374, - [SendOnLogin] - [AssessmentProperty] - GearCritDamageResist = 375, - [SendOnLogin] - [AssessmentProperty] - GearHealingBoost = 376, - [SendOnLogin] - [AssessmentProperty] - GearNetherResist = 377, - [SendOnLogin] - [AssessmentProperty] - GearLifeResist = 378, - [SendOnLogin] - [AssessmentProperty] - GearMaxHealth = 379, - Unknown380 = 380, - [SendOnLogin] - [AssessmentProperty] - PKDamageRating = 381, - [SendOnLogin] - [AssessmentProperty] - PKDamageResistRating = 382, - [SendOnLogin] - [AssessmentProperty] - GearPKDamageRating = 383, - [SendOnLogin] - [AssessmentProperty] - GearPKDamageResistRating = 384, - Unknown385 = 385, + UseRequiresLevel = 369, + [SendOnLogin][AssessmentProperty] + GearDamage = 370, + [SendOnLogin][AssessmentProperty] + GearDamageResist = 371, + [SendOnLogin][AssessmentProperty] + GearCrit = 372, + [SendOnLogin][AssessmentProperty] + GearCritResist = 373, + [SendOnLogin][AssessmentProperty] + GearCritDamage = 374, + [SendOnLogin][AssessmentProperty] + GearCritDamageResist = 375, + [SendOnLogin][AssessmentProperty] + GearHealingBoost = 376, + [SendOnLogin][AssessmentProperty] + GearNetherResist = 377, + [SendOnLogin][AssessmentProperty] + GearLifeResist = 378, + [SendOnLogin][AssessmentProperty] + GearMaxHealth = 379, + Unknown380 = 380, + [SendOnLogin][AssessmentProperty] + PKDamageRating = 381, + [SendOnLogin][AssessmentProperty] + PKDamageResistRating = 382, + [SendOnLogin][AssessmentProperty] + GearPKDamageRating = 383, + [SendOnLogin][AssessmentProperty] + GearPKDamageResistRating = 384, + Unknown385 = 385, /// /// Overpower chance % for endgame creatures. /// - [SendOnLogin] - [AssessmentProperty] - Overpower = 386, - [SendOnLogin] - [AssessmentProperty] - OverpowerResist = 387, + [SendOnLogin][AssessmentProperty] + Overpower = 386, + [SendOnLogin][AssessmentProperty] + OverpowerResist = 387, // Client does not display accurately - [SendOnLogin] - [AssessmentProperty] - GearOverpower = 388, + [SendOnLogin][AssessmentProperty] + GearOverpower = 388, // Client does not display accurately - [SendOnLogin] - [AssessmentProperty] - GearOverpowerResist = 389, + [SendOnLogin][AssessmentProperty] + GearOverpowerResist = 389, // Number of times a character has enlightened - [SendOnLogin] - [AssessmentProperty] - Enlightenment = 390, + [SendOnLogin][AssessmentProperty] + Enlightenment = 390, /* Custom Properties */ - PCAPRecordedAutonomousMovement = 8007, - PCAPRecordedMaxVelocityEstimated = 8030, - PCAPRecordedPlacement = 8041, - PCAPRecordedAppraisalPages = 8042, - PCAPRecordedAppraisalMaxPages = 8043, + PCAPRecordedAutonomousMovement = 8007, + PCAPRecordedMaxVelocityEstimated = 8030, + PCAPRecordedPlacement = 8041, + PCAPRecordedAppraisalPages = 8042, + PCAPRecordedAppraisalMaxPages = 8043, - // TotalLogins = 9001, - // DeletionTimestamp = 9002, - // CharacterOptions1 = 9003, - // CharacterOptions2 = 9004, - // LootTier = 9005, - // GeneratorProbability = 9006, - // WeenieType = 9007 - CurrentLoyaltyAtLastLogoff = 9008, - CurrentLeadershipAtLastLogoff = 9009, - AllegianceOfficerRank = 9010, - HouseRentTimestamp = 9011, - Hairstyle = 9012, + // TotalLogins = 9001, + // DeletionTimestamp = 9002, + // CharacterOptions1 = 9003, + // CharacterOptions2 = 9004, + // LootTier = 9005, + // GeneratorProbability = 9006, + // WeenieType = 9007 + CurrentLoyaltyAtLastLogoff = 9008, + CurrentLeadershipAtLastLogoff = 9009, + AllegianceOfficerRank = 9010, + HouseRentTimestamp = 9011, + Hairstyle = 9012, [Ephemeral] - VisualClothingPriority = 9013, - SquelchGlobal = 9014, - InventoryOrder = 9015, + VisualClothingPriority = 9013, + SquelchGlobal = 9014, + InventoryOrder = 9015, } public static class PropertyIntExtensions diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs b/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs index 7991b97746..d4e85e66c0 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs @@ -7,27 +7,27 @@ namespace ACE.Entity.Enum.Properties // AssessmentProperty gets sent in successful appraisal public enum PropertyInt64 : ushort { - Undef = 0, + Undef = 0, [SendOnLogin] - TotalExperience = 1, + TotalExperience = 1, [SendOnLogin] - AvailableExperience = 2, + AvailableExperience = 2, [AssessmentProperty] - AugmentationCost = 3, + AugmentationCost = 3, [AssessmentProperty] - ItemTotalXp = 4, + ItemTotalXp = 4, [AssessmentProperty] - ItemBaseXp = 5, + ItemBaseXp = 5, [SendOnLogin] - AvailableLuminance = 6, + AvailableLuminance = 6, [SendOnLogin] - MaximumLuminance = 7, - InteractionReqs = 8, + MaximumLuminance = 7, + InteractionReqs = 8, /* Custom Properties */ - AllegianceXPCached = 9000, + AllegianceXPCached = 9000, AllegianceXPGenerated = 9001, - AllegianceXPReceived = 9002, - VerifyXp = 9003, + AllegianceXPReceived = 9002, + VerifyXp = 9003, } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyString.cs b/Source/ACE.Entity/Enum/Properties/PropertyString.cs index 1c0ff0af4d..a1d4c95cf7 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyString.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyString.cs @@ -7,94 +7,93 @@ namespace ACE.Entity.Enum.Properties // AssessmentProperty gets sent in successful appraisal public enum PropertyString : ushort { - Undef = 0, + Undef = 0, [SendOnLogin] - Name = 1, + Name = 1, /// /// default "Adventurer" /// Date: Tue, 24 Dec 2024 12:52:24 -0700 Subject: [PATCH 4/7] Fixed single spacing issue. --- Source/ACE.Entity/Enum/Properties/PropertyBool.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/ACE.Entity/Enum/Properties/PropertyBool.cs b/Source/ACE.Entity/Enum/Properties/PropertyBool.cs index 302d96f699..6ac3af4df0 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyBool.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyBool.cs @@ -18,7 +18,7 @@ public enum PropertyBool : ushort AllegianceUpdateRequest = 5, AiUsesMana = 6, AiUseHumanMagicAnimations = 7, - AllowGive = 8, + AllowGive = 8, CurrentlyAttacking = 9, AttackerAi = 10, IgnoreCollisions = 11, From 74ef868f100b6e5422a3e61118a0ecf0f7cd199a Mon Sep 17 00:00:00 2001 From: OptimShi <26606778+OptimShi@users.noreply.github.com> Date: Tue, 24 Dec 2024 15:01:35 -0700 Subject: [PATCH 5/7] Fixed bad speeling --- Source/ACE.Entity/Enum/Properties/PropertyBool.cs | 2 +- Source/ACE.Entity/Enum/Properties/PropertyDataId.cs | 2 +- Source/ACE.Entity/Enum/Properties/PropertyFloat.cs | 2 +- Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs | 2 +- Source/ACE.Entity/Enum/Properties/PropertyInt.cs | 2 +- Source/ACE.Entity/Enum/Properties/PropertyInt64.cs | 2 +- Source/ACE.Entity/Enum/Properties/PropertyString.cs | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Source/ACE.Entity/Enum/Properties/PropertyBool.cs b/Source/ACE.Entity/Enum/Properties/PropertyBool.cs index 6ac3af4df0..a6bf4e8de0 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyBool.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyBool.cs @@ -2,7 +2,7 @@ namespace ACE.Entity.Enum.Properties { - // No properties are sent to the client unless they featured an atribute. + // No properties are sent to the client unless they featured an attribute. // SendOnLogin gets sent to players in the PlayerDescription event // AssessmentProperty gets sent in successful appraisal public enum PropertyBool : ushort diff --git a/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs b/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs index a2f881b39b..a9b8f357c4 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs @@ -2,7 +2,7 @@ namespace ACE.Entity.Enum.Properties { - // No properties are sent to the client unless they featured an atribute. + // No properties are sent to the client unless they featured an attribute. // SendOnLogin gets sent to players in the PlayerDescription event // AssessmentProperty gets sent in successful appraisal public enum PropertyDataId : ushort diff --git a/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs b/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs index 97ee5b6a0a..f0f38fd8a8 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs @@ -2,7 +2,7 @@ namespace ACE.Entity.Enum.Properties { - // No properties are sent to the client unless they featured an atribute. + // No properties are sent to the client unless they featured an attribute. // SendOnLogin gets sent to players in the PlayerDescription event // AssessmentProperty gets sent in successful appraisal public enum PropertyFloat : ushort diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs b/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs index 52427c7262..2410e955ee 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs @@ -2,7 +2,7 @@ namespace ACE.Entity.Enum.Properties { - // No properties are sent to the client unless they featured an atribute. + // No properties are sent to the client unless they featured an attribute. // SendOnLogin gets sent to players in the PlayerDescription event // AssessmentProperty gets sent in successful appraisal public enum PropertyInstanceId : ushort diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs index fe0b818874..7b49f2cee0 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs @@ -4,7 +4,7 @@ namespace ACE.Entity.Enum.Properties { - // No properties are sent to the client unless they featured an atribute. + // No properties are sent to the client unless they featured an attribute. // SendOnLogin gets sent to players in the PlayerDescription event // AssessmentProperty gets sent in successful appraisal public enum PropertyInt : ushort diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs b/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs index d4e85e66c0..bc8267766e 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInt64.cs @@ -2,7 +2,7 @@ namespace ACE.Entity.Enum.Properties { - // No properties are sent to the client unless they featured an atribute. + // No properties are sent to the client unless they featured an attribute. // SendOnLogin gets sent to players in the PlayerDescription event // AssessmentProperty gets sent in successful appraisal public enum PropertyInt64 : ushort diff --git a/Source/ACE.Entity/Enum/Properties/PropertyString.cs b/Source/ACE.Entity/Enum/Properties/PropertyString.cs index a1d4c95cf7..e207080ce7 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyString.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyString.cs @@ -2,7 +2,7 @@ namespace ACE.Entity.Enum.Properties { - // No properties are sent to the client unless they featured an atribute. + // No properties are sent to the client unless they featured an attribute. // SendOnLogin gets sent to players in the PlayerDescription event // AssessmentProperty gets sent in successful appraisal public enum PropertyString : ushort From 7fa0e3c593e68120746e8ae63f6669a9bf4f6788 Mon Sep 17 00:00:00 2001 From: OptimShi <26606778+OptimShi@users.noreply.github.com> Date: Tue, 31 Dec 2024 16:05:38 -0700 Subject: [PATCH 6/7] Add EncumbranceVal to [AssessmentProperty] --- Source/ACE.Entity/Enum/Properties/PropertyInt.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs index 7b49f2cee0..cf98a4bb8e 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs @@ -15,6 +15,7 @@ public enum PropertyInt : ushort CreatureType = 2, PaletteTemplate = 3, ClothingPriority = 4, + [AssessmentProperty] EncumbranceVal = 5, // ENCUMB_VAL_INT, ItemsCapacity = 6, [SendOnLogin] From d3eccf919d7bb13ffa3790e79b34db0816954d70 Mon Sep 17 00:00:00 2001 From: OptimShi <26606778+OptimShi@users.noreply.github.com> Date: Tue, 31 Dec 2024 16:07:47 -0700 Subject: [PATCH 7/7] Add EncumbranceVal to [SendOnLogin] --- Source/ACE.Entity/Enum/Properties/PropertyInt.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs index cf98a4bb8e..ccd9e80e0d 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs @@ -15,7 +15,7 @@ public enum PropertyInt : ushort CreatureType = 2, PaletteTemplate = 3, ClothingPriority = 4, - [AssessmentProperty] + [AssessmentProperty][SendOnLogin] EncumbranceVal = 5, // ENCUMB_VAL_INT, ItemsCapacity = 6, [SendOnLogin]