public override async Task Generate(IField field) { var mob = new FieldObjMob(MobTemplate, LifeTemplate.Left) { Position = LifeTemplate.Position, Foothold = field.GetFoothold(LifeTemplate.FH) }; await field.Enter(mob, () => mob.GetEnterFieldPacket(FieldObjMobAppearType.Regen)); Mob = mob; }
public override bool Check(DateTime now, IField field) { if (Mob != null) { if (Mob.Field == null) { var random = new Random(); var buffer = 7 * LifeTemplate.MobTime / 10; var interval = TimeSpan.FromSeconds( 13 * LifeTemplate.MobTime / 10 + random.Next(buffer) ); NextRegen = NextRegen.Add(interval); Mob = null; } return(false); } return(NextRegen < now); }
public CalculatedMobStats(IFieldObjMob mob) { _mob = mob; }