public Status(SkillCast skillCast, int target, int source, int stacks) { SkillId = skillCast.SkillId; UniqueId = GuidGenerator.Int(); Target = target; Source = source; Level = skillCast.SkillLevel; Stacks = stacks > 0 && stacks <= skillCast.MaxStack() ? stacks : skillCast.MaxStack(); SkillCast = skillCast; Start = Environment.TickCount; Duration = skillCast.DurationTick(); End = Start + Duration; }