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; }
}
}