public LogEntry()
 {
     source = new Actor();
     target = new Actor();
     @event = new GameObject();
     ability = new GameObject();
     effect = new Effect();
     result = new Result();
     mitigation = new Result();
     defense = new GameObject();
 }
 private static IList<LogEntry> CreateLogEntries(int secondsBetweenEntries)
 {
     var startTime = DateTime.Now;
     var nextEntry = startTime.AddSeconds(secondsBetweenEntries);
     IList<LogEntry> entries = new List<LogEntry>();
     var actor1 = new Actor {isPlayer = true, name = "Player1", number = 1};
     entries.Add(new LogEntry
                     {
                         timestamp = startTime,
                         effect = new Effect {name = "Damage", number = 100, subtype = "None"},
                         result = new Result {amount = 200, isCritical = false, name = "anattack", number = 3122},
                         source = actor1
                     });
     entries.Add(new LogEntry
                     {
                         timestamp = nextEntry,
                         effect = new Effect {name = "Damage", number = 100, subtype = "None"},
                         result = new Result {amount = 200, isCritical = false, name = "anattack", number = 3122},
                         source = actor1
                     });
     return entries;
 }
        public LogHelper EnterCombat(Actor actor)
        {
            // [03/17/2012 19:48:51] [@Argorash] [@Argorash] 
            // [] [Event {836045448945472}: EnterCombat {836045448945489}] ()
            log.Add(new LogEntry
            {
                timestamp = now,
                source = actor,
                target = actor,
                @event = CreateSimpleEvent(),
                effect = CreateEffect("EnterCombat", 836045448945489)
            });

            return this;
        }
        public LogHelper Damage(Actor source, Actor target, string abilityName, int amount, string type, bool isCritical = false)
        {
            // [03/17/2012 19:49:20] [@Psyfe] [@Argorash] 
            // [Series of Shots {2299572734918656}] 
            // [ApplyEffect {836045448945477}: Damage {836045448945501}] 
            // (234 energy {836045448940874} -glance {836045448945509} (234 absorbed {836045448945511})) <234>

            log.Add(new LogEntry
                {
                    timestamp = now,
                    source = source,
                    target = target,
                    ability = new GameObject { name = abilityName, number = RandomInt64() },
                    @event = new GameObject
                    {
                        name = "ApplyEffect",
                        number = 836045448945477
                    },
                    effect = new Effect
                    {
                        name = "Damage",
                        number = 836045448945501
                    },
                    result = new Result
                    {
                        number = 836045448940874,
                        amount = amount,
                        name = type, 
                        isCritical = isCritical
                    },
                    threat = amount
                });

            return this;
        }
        public LogHelper Heal(Actor source, Actor target, string abilityName, int amount)
        {
            // [03/17/2012 19:45:04] [@Argorash] [@Argorash] 
            // [Heroic Moment: Call on the Force {1412666283261952}] 
            // [ApplyEffect {836045448945477}: Heal {836045448945500}] (434)

            log.Add(new LogEntry
            {
                timestamp = now,
                source = source,
                target = target,
                ability = new GameObject { name = abilityName, number = RandomInt64() },
                @event = new GameObject
                {
                    name = "ApplyEffect",
                    number = 836045448945477,
                },
                effect = new Effect
                {
                    name = "Heal",
                    number = 836045448945501
                },
                result = new Result
                {
                    number = 836045448940874,
                    amount = amount
                },
                threat = amount
            });

            return this;
        }
 public void SetUp()
 {
     target = new CombatParser();
     log = new List<LogEntry>();
     h = new LogHelper(log);
     player = new Actor { name = "Gisben", isPlayer = true };
     mob = new Actor { name = "Soa", number = 836045448947788 };
 }