public TrinityActor(DiaObject fixedActor) : base(fixedActor) { Attributes = new AttributesWrapper(CommonData); ObjectHash = HashGenerator.GenerateObjectHash(Position, ActorSnoId, InternalName); IsProfileBlacklisted = ProfileManager.CurrentProfile?.TargetBlacklists?.Any(b => b.ActorId == ActorSnoId) ?? false; MonsterQuality = CommonData?.MonsterQualityLevel ?? MonsterQuality.Normal; }
bool IPartyMember.IsInCombat => false; // No way to know if another CPlayer is in combat? #endregion IPartyMember public override void OnCreated() { //Attributes = new PlayerAttributes(FastAttributeGroupId); Attributes = new AttributesWrapper(CommonData); base.Attributes = Attributes; UpdateProperties(); }
public override void OnCreated() { Attributes = new AttributesWrapper(CommonData); //Test to replace attributes with DB's attribute system. //Player Map Ptr is currently wrong. //var test = new ActorAttributes2(CommonData); FullUpdate(); }
private static void UpdateTeam(TrinityActor actor, AttributesWrapper attributes) { actor.TeamId = GetTeamId(actor.CommonData); actor.Team = (TeamType)actor.TeamId; actor.IsFriendly = !IsHostile(actor.CommonData, ZetaDia.Me.CommonData); actor.IsHostile = IsHostile(actor.CommonData, ZetaDia.Me.CommonData) || actor.Attributes.LastDamageAnnId == Core.Player.MyDynamicID; actor.IsSameTeam = actor.IsFriendly || actor.TeamId == Core.Player.TeamId || GameData.AllyMonsterTypes.Contains(actor.MonsterType); actor.IsHidden = attributes.IsHidden || attributes.IsBurrowed; actor.IsSpawningBoss = actor.IsBoss && actor.IsUntargetable; actor.IsNpc = attributes.IsNPC; }
private static void UpdateTeam(TrinityActor actor, AttributesWrapper attributes) { var teamOverride = attributes.TeamOverride; actor.TeamId = teamOverride > 0 ? teamOverride : attributes.TeamId; actor.Team = (TeamType)actor.TeamId; actor.IsFriendly = actor.TeamId == 1 || actor.TeamId == 2 || actor.TeamId == 17; actor.IsHostile = actor.TeamId == 10 || actor.Attributes.LastDamageAnnId == Core.Player.MyDynamicID; actor.IsSameTeam = actor.IsFriendly || actor.TeamId == Core.Player.TeamId || GameData.AllyMonsterTypes.Contains(actor.MonsterType); actor.IsHidden = attributes.IsHidden || attributes.IsBurrowed; actor.IsSpawningBoss = actor.IsBoss && actor.IsUntargetable; actor.IsNpc = attributes.IsNPC; }
private static void UpdateStatus(TrinityActor actor, AttributesWrapper attributes) { actor.HitPoints = attributes.Hitpoints; actor.HitPointsMax = attributes.HitpointsMaxTotal; actor.HitPointsPct = actor.HitPoints / actor.HitPointsMax; actor.HasDotDps = attributes.HasDotDps; actor.IsReflectingDamage = actor.MonsterAffixes.HasFlag(MonsterAffixes.ReflectsDamage) && attributes.IsReflecting; actor.NpcIsOperable = attributes.NPCIsOperatable; actor.IsUntargetable = attributes.IsUntargetable && !GameData.IgnoreUntargettableAttribute.Contains(actor.ActorSnoId); actor.IsInvulnerable = attributes.IsInvulnerable; actor.MarkerType = attributes.MarkerType; actor.NpcHasInteractOptions = attributes.NpcHasInteractOptions; actor.IsQuestGiver = (actor.MarkerType == MarkerType.Exclamation || actor.MarkerType == MarkerType.ExclamationBlue); actor.HasBuffVisualEffect = attributes.HasBuffVisualEffect; }
public override void OnCreated() { Attributes = new AttributesWrapper(CommonData); CommonProperties.Populate(this); ItemProperties.Create(this); }
public TrinityActor(ACD acd, ActorType type) : base(acd, type) { Attributes = new AttributesWrapper(CommonData); ObjectHash = HashGenerator.GenerateObjectHash(Position, ActorSnoId, InternalName); }
public TrinityItem(ACD seed) : base(seed, ActorType.Item) { Attributes = new AttributesWrapper(seed); }