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..a6bf4e8de0 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyBool.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyBool.cs @@ -2,18 +2,17 @@ namespace ACE.Entity.Enum.Properties { + // 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 { - // 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, [Ephemeral] + Stuck = 1, + [AssessmentProperty][Ephemeral] Open = 2, + [AssessmentProperty] Locked = 3, RotProof = 4, AllegianceUpdateRequest = 5, @@ -22,25 +21,18 @@ public enum PropertyBool : ushort 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] + [Ephemeral] Visibility = 18, - [ServerOnly] Attackable = 19, SafeSpellComponents = 20, + [SendOnLogin] AdvocateState = 21, Inscribable = 22, DestroyOnSell = 23, @@ -66,11 +58,11 @@ public enum PropertyBool : ushort ReportCollisionsAsEnvironment = 41, AllowEdgeSlide = 42, AdvocateQuest = 43, - [Ephemeral][SendOnLogin] + [SendOnLogin][Ephemeral] IsAdmin = 44, - [Ephemeral][SendOnLogin] + [SendOnLogin][Ephemeral] IsArch = 45, - [Ephemeral][SendOnLogin] + [SendOnLogin][Ephemeral] IsSentinel = 46, [SendOnLogin] IsAdvocate = 47, @@ -91,6 +83,7 @@ public enum PropertyBool : ushort IsAcceptingTells = 60, LoggingChannel = 61, OpensAnyLock = 62, + [AssessmentProperty] UnlimitedUse = 63, GeneratedTreasureItem = 64, IgnoreMagicResist = 65, @@ -98,6 +91,7 @@ public enum PropertyBool : ushort AiAllowTrade = 67, [SendOnLogin] SpellComponentsRequired = 68, + [AssessmentProperty] IsSellable = 69, IgnoreShieldsBySkill = 70, NoDraw = 71, @@ -113,25 +107,29 @@ public enum PropertyBool : ushort IgnorePortalRestrictions = 80, RequiresBackpackSlot = 81, DontTurnOrMoveWhenGiving = 82, - [ServerOnly] 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] + [SendOnLogin][Ephemeral] IsPsr = 97, Invincible = 98, + [AssessmentProperty] Ivoryable = 99, + [AssessmentProperty] Dyable = 100, CanGenerateRare = 101, CorpseGeneratedRare = 102, @@ -142,6 +140,7 @@ public enum PropertyBool : ushort [Ephemeral] FirstEnterWorldDone = 106, RecallsDisabled = 107, + [AssessmentProperty] RareUsesTimer = 108, ActdPreorderReceivedItems = 109, [Ephemeral] @@ -167,39 +166,21 @@ public enum PropertyBool : ushort [SendOnLogin] Account15Days = 127, HadNoVitae = 128, - [SendOnLogin] NoOlthoiTalk = 129, + [AssessmentProperty] AutowieldLeft = 130, - /* custom */ - [ServerOnly] + /* Custom Properties */ LinkedPortalOneSummon = 9001, - [ServerOnly] LinkedPortalTwoSummon = 9002, - [ServerOnly] HouseEvicted = 9003, - [ServerOnly] UntrainedSkills = 9004, - [Ephemeral][ServerOnly] + [Ephemeral] IsEnvoy = 9005, - [ServerOnly] UnspecializedSkills = 9006, - [ServerOnly] FreeSkillResetRenewed = 9007, - [ServerOnly] FreeAttributeResetRenewed = 9008, - [ServerOnly] SkillTemplesTimerReset = 9009, - [ServerOnly] 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..a9b8f357c4 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyDataId.cs @@ -2,188 +2,107 @@ namespace ACE.Entity.Enum.Properties { + // 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 { - // 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] - 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, + 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, - [ServerOnly] + /* Custom Properties */ 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] 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..f0f38fd8a8 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyFloat.cs @@ -2,19 +2,18 @@ namespace ACE.Entity.Enum.Properties { + // 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 { - // 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, [Ephemeral] HeartbeatTimestamp = 2, HealthRate = 3, StaminaRate = 4, + [AssessmentProperty] ManaRate = 5, HealthUponResurrection = 6, StaminaUponResurrection = 7, @@ -39,6 +38,7 @@ public enum PropertyFloat : ushort MaximumVelocity = 26, RotationSpeed = 27, MotionTimestamp = 28, + [AssessmentProperty] WeaponDefense = 29, WimpyLevel = 30, VisualAwarenessRange = 31, @@ -99,6 +99,7 @@ public enum PropertyFloat : ushort Shade2 = 84, Shade3 = 85, Shade4 = 86, + [AssessmentProperty] ItemEfficiency = 87, ItemManaUpdateTimestamp = 88, SpellGestureSpeedMod = 89, @@ -113,6 +114,7 @@ public enum PropertyFloat : ushort UseTimestamp = 98, [Ephemeral] UseLockTimestamp = 99, + [AssessmentProperty] HealkitMod = 100, FrozenTimestamp = 101, HealthRateMod = 102, @@ -154,7 +156,9 @@ public enum PropertyFloat : ushort EventSpamTimestamp = 133, EventSpamRate = 134, InventoryOffset = 135, + [AssessmentProperty] CriticalMultiplier = 136, + [AssessmentProperty] ManaStoneDestroyChance = 137, SlayerDamageBonus = 138, AllegianceInfoSpamTimestamp = 139, @@ -163,21 +167,29 @@ public enum PropertyFloat : ushort [Ephemeral] AppraisalRequestedTimestamp = 142, AppraisalHeartbeatDueTimestamp = 143, + [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, @@ -187,6 +199,7 @@ public enum PropertyFloat : ushort HealingModifier = 164, ArmorModVsNether = 165, ResistNether = 166, + [AssessmentProperty] CooldownDuration = 167, [SendOnLogin] WeaponAuraOffense = 168, @@ -197,34 +210,16 @@ public enum PropertyFloat : ushort [SendOnLogin] WeaponAuraManaConv = 171, - [ServerOnly] + /* Custom Properties */ 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 - } - - public static class PropertyFloatExtensions - { - public static string GetDescription(this PropertyFloat prop) - { - var description = prop.GetAttributeOfType(); - return description?.Description ?? prop.ToString(); - } + PCAPRecordeOmegaZ = 8018, } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs b/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs index 0bb169f942..2410e955ee 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInstanceId.cs @@ -2,15 +2,12 @@ namespace ACE.Entity.Enum.Properties { + // 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 { - // 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, Owner = 1, Container = 2, Wielder = 3, @@ -52,7 +49,7 @@ public enum PropertyInstanceId : ushort CombatTarget = 27, [Ephemeral] HealthQueryTarget = 28, - [ServerOnly][Ephemeral] + [Ephemeral] LastUnlocker = 29, CrashAndTurnTarget = 30, AllowedActivator = 31, @@ -69,24 +66,14 @@ public enum PropertyInstanceId : ushort LimboSource = 40, Snooper = 41, TeleportedCharacter = 42, - [ServerOnly][Ephemeral] + [Ephemeral] Pet = 43, PetOwner = 44, - [ServerOnly][Ephemeral] + [Ephemeral] PetDevice = 45, - [ServerOnly] + /* Custom Properties */ PCAPRecordedObjectIID = 8000, - [ServerOnly] - PCAPRecordedParentIID = 8008 - } - - public static class PropertyInstanceIdExtensions - { - public static string GetDescription(this PropertyInstanceId prop) - { - var description = prop.GetAttributeOfType(); - return description?.Description ?? prop.ToString(); - } + PCAPRecordedParentIID = 8008, } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs index 12c1173a72..ccd9e80e0d 100644 --- a/Source/ACE.Entity/Enum/Properties/PropertyInt.cs +++ b/Source/ACE.Entity/Enum/Properties/PropertyInt.cs @@ -4,96 +4,88 @@ namespace ACE.Entity.Enum.Properties { + // 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 { - // 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, + [AssessmentProperty] CreatureType = 2, - [ServerOnly] PaletteTemplate = 3, ClothingPriority = 4, - [SendOnLogin] + [AssessmentProperty][SendOnLogin] EncumbranceVal = 5, // ENCUMB_VAL_INT, - [SendOnLogin] ItemsCapacity = 6, [SendOnLogin] ContainersCapacity = 7, - [ServerOnly] Mass = 8, - [ServerOnly] - ValidLocations = 9, // LOCATIONS_INT - [ServerOnly] + ValidLocations = 9, // LOCATIONS_INT, CurrentWieldedLocation = 10, - [ServerOnly] MaxStackSize = 11, - [ServerOnly] StackSize = 12, - [ServerOnly] StackUnitEncumbrance = 13, - [ServerOnly] StackUnitMass = 14, - [ServerOnly] StackUnitValue = 15, - [ServerOnly] ItemUseable = 16, + [AssessmentProperty] RareId = 17, - [ServerOnly] UiEffects = 18, + [AssessmentProperty] Value = 19, - [Ephemeral][SendOnLogin] + [SendOnLogin][Ephemeral] CoinValue = 20, TotalExperience = 21, AvailableCharacter = 22, TotalSkillCredits = 23, [SendOnLogin] AvailableSkillCredits = 24, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] Level = 25, + [AssessmentProperty] AccountRequirements = 26, ArmorType = 27, + [AssessmentProperty] ArmorLevel = 28, AllegianceCpPool = 29, - [SendOnLogin] + [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] + [SendOnLogin][AssessmentProperty] NumDeaths = 43, Damage = 44, + [AssessmentProperty] DamageType = 45, - [ServerOnly] DefaultCombatStyle = 46, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] AttackType = 47, WeaponSkill = 48, WeaponTime = 49, AmmoType = 50, CombatUse = 51, - [ServerOnly] 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, @@ -106,7 +98,6 @@ public enum PropertyInt : ushort DefendersSkill = 62, AttackersSkillValue = 63, AttackersClass = 64, - [ServerOnly] Placement = 65, CheckpointStatus = 66, Tolerance = 67, @@ -130,21 +121,25 @@ public enum PropertyInt : ushort 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, - [ServerOnly] PhysicsState = 93, - [ServerOnly] TargetType = 94, RadarBlipColor = 95, EncumbranceCapacity = 96, LoginTimestamp = 97, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] CreationTimestamp = 98, PkLevelModifier = 99, GeneratorType = 100, @@ -152,19 +147,29 @@ public enum PropertyInt : ushort 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] + [SendOnLogin][AssessmentProperty] Gender = 113, + [AssessmentProperty] Attuned = 114, + [AssessmentProperty] ItemSkillLevelLimit = 115, GateLogic = 116, + [AssessmentProperty] ItemManaCost = 117, Logoff = 118, Active = 119, @@ -173,7 +178,7 @@ public enum PropertyInt : ushort AiCpThreshold = 122, AiAdvancementStrategy = 123, Version = 124, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] Age = 125, VendorHappyMean = 126, VendorHappyVariance = 127, @@ -181,12 +186,13 @@ public enum PropertyInt : ushort [SendOnLogin] VitaeCpPool = 129, NumServicesSold = 130, + [AssessmentProperty] MaterialType = 131, [SendOnLogin] NumAllegianceBreaks = 132, [Ephemeral] ShowableOnRadar = 133, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] PlayerKillerStatus = 134, VendorHappyMaxItems = 135, ScorePageNum = 136, @@ -194,62 +200,63 @@ public enum PropertyInt : ushort 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, + [AssessmentProperty] WieldRequirements = 158, + [AssessmentProperty] WieldSkillType = 159, + [AssessmentProperty] WieldDifficulty = 160, - [ServerOnly] HouseMaxHooksUsable = 161, - [ServerOnly][Ephemeral] + [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, - [Ephemeral] + [AssessmentProperty][Ephemeral] AppraisalPages = 174, - [Ephemeral] + [AssessmentProperty][Ephemeral] AppraisalMaxPages = 175, + [AssessmentProperty] AppraisalItemSkill = 176, + [AssessmentProperty] GemCount = 177, + [AssessmentProperty] GemType = 178, + [AssessmentProperty] ImbuedEffect = 179, AttackersRawSkillValue = 180, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] ChessRank = 181, ChessTotalGames = 182, ChessGamesWon = 183, @@ -257,18 +264,18 @@ public enum PropertyInt : ushort TypeOfAlteration = 185, SkillToBeAltered = 186, SkillAlterationCount = 187, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] HeritageGroup = 188, TransferFromAttribute = 189, TransferToAttribute = 190, AttributeTransferCount = 191, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] FakeFishingSkill = 192, + [AssessmentProperty] NumKeys = 193, DeathTimestamp = 194, PkTimestamp = 195, VictimTimestamp = 196, - [ServerOnly] HookGroup = 197, AllegianceSwearTimestamp = 198, [SendOnLogin] @@ -277,6 +284,7 @@ public enum PropertyInt : ushort MeleeDefenseImbuedEffectTypeCache = 201, MissileDefenseImbuedEffectTypeCache = 202, MagicDefenseImbuedEffectTypeCache = 203, + [AssessmentProperty] ElementalDamageBonus = 204, ImbueAttempts = 205, ImbueSuccesses = 206, @@ -288,11 +296,8 @@ public enum PropertyInt : ushort RaresTierThree = 212, RaresTierFour = 213, RaresTierFive = 214, - [SendOnLogin] AugmentationStat = 215, - [SendOnLogin] AugmentationFamilyStat = 216, - [SendOnLogin] AugmentationInnateFamily = 217, [SendOnLogin] AugmentationInnateStrength = 218, @@ -336,7 +341,6 @@ public enum PropertyInt : ushort AugmentationFasterRegen = 237, [SendOnLogin] AugmentationIncreasedSpellDuration = 238, - [SendOnLogin] AugmentationResistanceFamily = 239, [SendOnLogin] AugmentationResistanceSlash = 240, @@ -362,48 +366,68 @@ public enum PropertyInt : ushort RaresTierSeven = 254, RaresTierSixLogin = 255, RaresTierSevenLogin = 256, + [AssessmentProperty] ItemAttributeLimit = 257, + [AssessmentProperty] ItemAttributeLevelLimit = 258, + [AssessmentProperty] ItemAttribute2ndLimit = 259, + [AssessmentProperty] ItemAttribute2ndLevelLimit = 260, + [AssessmentProperty] CharacterTitleId = 261, + [AssessmentProperty] NumCharacterTitles = 262, + [AssessmentProperty] ResistanceModifierType = 263, FreeTinkersBitfield = 264, + [AssessmentProperty] EquipmentSetId = 265, PetClass = 266, + [AssessmentProperty] Lifespan = 267, - [Ephemeral] + [AssessmentProperty][Ephemeral] 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] + [SendOnLogin][AssessmentProperty] Faction1Bits = 281, Faction2Bits = 282, Faction3Bits = 283, Hatred1Bits = 284, Hatred2Bits = 285, Hatred3Bits = 286, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] SocietyRankCelhan = 287, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] SocietyRankEldweb = 288, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] SocietyRankRadblo = 289, HearLocalSignals = 290, HearLocalSignalsRadius = 291, + [AssessmentProperty] Cleaving = 292, - [SendOnLogin] AugmentationSpecializeGearcraft = 293, [SendOnLogin] AugmentationInfusedCreatureMagic = 294, @@ -423,13 +447,17 @@ public enum PropertyInt : ushort AugmentationSkilledMissile = 301, [SendOnLogin] AugmentationSkilledMagic = 302, + [AssessmentProperty] ImbuedEffect2 = 303, + [AssessmentProperty] ImbuedEffect3 = 304, + [AssessmentProperty] ImbuedEffect4 = 305, + [AssessmentProperty] ImbuedEffect5 = 306, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] DamageRating = 307, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] DamageResistRating = 308, [SendOnLogin] AugmentationDamageBonus = 309, @@ -438,30 +466,32 @@ public enum PropertyInt : ushort ImbueStackingBits = 311, [SendOnLogin] HealOverTime = 312, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] CritRating = 313, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] CritDamageRating = 314, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] CritResistRating = 315, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] CritDamageResistRating = 316, [SendOnLogin] HealingResistRating = 317, [SendOnLogin] DamageOverTime = 318, + [AssessmentProperty] ItemMaxLevel = 319, + [AssessmentProperty] ItemXpStyle = 320, EquipmentSetExtra = 321, [SendOnLogin] AetheriaBitfield = 322, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] HealingBoostRating = 323, + [AssessmentProperty] HeritageSpecificArmor = 324, AlternateRacialSkills = 325, [SendOnLogin] AugmentationJackOfAllTrades = 326, - [SendOnLogin] AugmentationResistanceNether = 327, [SendOnLogin] AugmentationInfusedVoidMagic = 328, @@ -496,17 +526,19 @@ public enum PropertyInt : ushort LumAugSkilledCraft = 343, [SendOnLogin] LumAugSkilledSpec = 344, - [SendOnLogin] LumAugNoDestroyCraft = 345, RestrictInteraction = 346, + [SendOnLogin] OlthoiLootTimestamp = 347, OlthoiLootStep = 348, UseCreatesContractId = 349, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] DotResistRating = 350, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] LifeResistRating = 351, + [AssessmentProperty] CloakWeaveProc = 352, + [AssessmentProperty] WeaponType = 353, [SendOnLogin] MeleeMastery = 354, @@ -526,119 +558,88 @@ public enum PropertyInt : ushort UseLevelRequirement = 364, [SendOnLogin] LumAugAllSkills = 365, + [AssessmentProperty] UseRequiresSkill = 366, + [AssessmentProperty] UseRequiresSkillLevel = 367, + [AssessmentProperty] UseRequiresSkillSpec = 368, + [AssessmentProperty] UseRequiresLevel = 369, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearDamage = 370, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearDamageResist = 371, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearCrit = 372, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearCritResist = 373, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearCritDamage = 374, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearCritDamageResist = 375, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearHealingBoost = 376, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearNetherResist = 377, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearLifeResist = 378, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearMaxHealth = 379, Unknown380 = 380, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] PKDamageRating = 381, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] PKDamageResistRating = 382, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearPKDamageRating = 383, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearPKDamageResistRating = 384, Unknown385 = 385, /// /// Overpower chance % for endgame creatures. /// - [SendOnLogin] + [SendOnLogin][AssessmentProperty] Overpower = 386, - [SendOnLogin] + [SendOnLogin][AssessmentProperty] OverpowerResist = 387, // Client does not display accurately - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearOverpower = 388, // Client does not display accurately - [SendOnLogin] + [SendOnLogin][AssessmentProperty] GearOverpowerResist = 389, // Number of times a character has enlightened - [SendOnLogin] + [SendOnLogin][AssessmentProperty] Enlightenment = 390, - [ServerOnly] + /* Custom Properties */ PCAPRecordedAutonomousMovement = 8007, - [ServerOnly] PCAPRecordedMaxVelocityEstimated = 8030, - [ServerOnly] PCAPRecordedPlacement = 8041, - [ServerOnly] PCAPRecordedAppraisalPages = 8042, - [ServerOnly] 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, - /// - /// 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, - /// - /// 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, - - /// - /// TODO: This is a place holder for future use. See PlacementPosition - /// This is the sort order for items in a container - /// - [ServerOnly] - InventoryOrder = 9015, + // 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, } 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..bc8267766e 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 attribute. + // 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, + AvailableExperience = 2, + [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] + /* Custom Properties */ AllegianceXPCached = 9000, - [ServerOnly] 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(); - } + VerifyXp = 9003, } } diff --git a/Source/ACE.Entity/Enum/Properties/PropertyString.cs b/Source/ACE.Entity/Enum/Properties/PropertyString.cs index 864b7fcc40..e207080ce7 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 attribute. + // 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, + /// (); - 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) {