ace/Source/ACE.Server/WorldObjects/Creature_Attributes.cs
Mag-nus 390961ca70
More profiling based improvements (#1091)
* Landblock LoadMeshes summary improved

* Landblock CellLandblock/LandblockInfo get only (set in ctor)

* Fix LScape get_landblock thread safety

* Fix EnchantmentManager Surpass (retval)

* Only create the WorldObject.ObjectGuid once

We don't need to instantinate a new ObjetGuid per get of the property.

* castclass (cast) is faster than isinst (as), also fix double enumeration

* Streamline Attributes and Vitals

They are fixed and set in SetEphemeralValues, called by the ctor.

They do not need the additional layer that Skills do.

* BiotaPropertiesEnchatmentRegistry direct access fixes (Use extensions instead)

* Another BiotaPropertiesEnchantmentRegistry -> Extension fix

* Initial EnchantmentManagerWithCaching

* Added the remaining functions to the cache

* DelayManager using the wrong Min. woops...

Min() was the linq version that enumerates the whole collection. Min is the built in fast version for the SortedSet

* Fix PortalDatDatabase properties

They should only be set once, not executing the getter on every request.

Furthermore, SpellBase was referencing the static DatManager via the Unpack command to construct SpellWords. A dat file type should not be referencing the static datmanager. Instead, we use the GetSPellWords that takes the reference to DatManager to generate the same result.

* Cleanup loadalllandblocks status output

* Improve LoadAllLandblocks comments
2018-11-14 20:52:13 -06:00

19 lines
836 B
C#

using System.Collections.Generic;
using ACE.Entity.Enum.Properties;
using ACE.Server.WorldObjects.Entity;
namespace ACE.Server.WorldObjects
{
partial class Creature
{
public readonly Dictionary<PropertyAttribute, CreatureAttribute> Attributes = new Dictionary<PropertyAttribute, CreatureAttribute>();
public CreatureAttribute Strength => Attributes[PropertyAttribute.Strength];
public CreatureAttribute Endurance => Attributes[PropertyAttribute.Endurance];
public CreatureAttribute Coordination => Attributes[PropertyAttribute.Coordination];
public CreatureAttribute Quickness => Attributes[PropertyAttribute.Quickness];
public CreatureAttribute Focus => Attributes[PropertyAttribute.Focus];
public CreatureAttribute Self => Attributes[PropertyAttribute.Self];
}
}