public static float NextMovement(this MovementFrequency freq) { switch (freq) { case MovementFrequency.Always: return(0); case MovementFrequency.Often: return(Randomizer.Next(100, 250)); case MovementFrequency.Frequently: return(Randomizer.Next(250, 500)); case MovementFrequency.Normally: //More realistic (sometime faster, sometime slower) return(Randomizer.Next(300, 650) - (Randomizer.NextBool() ? Randomizer.Next(75, 125) : 0)); case MovementFrequency.Occasionally: return(Randomizer.Next(400, 800)); case MovementFrequency.Hardly: return(Randomizer.Next(600, 1000)); case MovementFrequency.Rarely: return(Randomizer.Next(1000, 1400)); case MovementFrequency.Never: return(Single.MaxValue); } return(0f); }
private void Initialize(string name, int dataID, int x, int y) { Name = name; EventDataID = dataID; MapX = x; MapY = y; RealX = x * 32; RealY = y * 32; EventDirection = FacingDirection.Down; SpriteID = -1; TriggerType = EventTriggerType.None; Passable = false; Priority = RenderPriority.BelowPlayer; Speed = MovementSpeed.Normal; Frequency = MovementFrequency.Normal; ParticleEmitterID = -1; RandomMovement = false; Enabled = true; Locked = false; OnBridge = false; PositionChanged = false; DirectionChanged = false; SpriteChanged = false; RenderPriorityChanged = false; EnabledChanged = false; }