using System; using System.Collections.Generic; using WingsAPI.Scripting.Attribute; using WingsAPI.Scripting.Event; using WingsAPI.Scripting.Object.Raid; namespace WingsAPI.Scripting.Object.Common { /// /// Object used to represent a monster in a script /// [ScriptObject] public class SMonster { /// /// Randomly generated id /// public Guid Id { get; set; } /// /// Vnum of monster /// public short Vnum { get; set; } /// /// Position where this monster will be spawned /// public SPosition Position { get; set; } public bool IsRandomPosition { get; set; } /// /// Define if monster is a boss or not /// public bool IsBoss { get; set; } /// /// Define if monster can move or not /// public bool CanMove { get; set; } /// /// Define if monster is a target /// public bool IsTarget { get; set; } /// /// Define if monster should walk to boss position /// public SPosition GoToBossPosition { get; set; } public IEnumerable Drop { get; set; } public IDictionary> Events { get; set; } public bool SpawnAfterTask { get; set; } public int SpawnAfterMobs { get; set; } public byte Direction { get; set; } public byte? CustomLevel { get; set; } public float? HpMultiplier { get; set; } public float? MpMultiplier { get; set; } public string AtAroundMobId { get; set; } public byte? AtAroundMobRange { get; set; } public IEnumerable Waypoints { get; set; } } }