예제 #1
0
        protected override void SetStats()
        {
            base.SetStats();

            SetMaxHp(6);
            GetComponent <HealthComponent>().Unhittable = true;

            var body = new SensorBodyComponent(1, 1, 14, 15);

            AddComponent(body);
            body.Body.LinearDamping = 0.3f;

            AddComponent(new ZAnimationComponent("snowflake"));
            AddComponent(new ZComponent()
            {
                Float = true
            });

            AddComponent(new OrbitalComponent {
                Radius = 32,
                Lerp   = true
            });

            Depth = Layers.Wall;
            Become <IdleState>();

            RemoveTag(Tags.MustBeKilled);
        }
예제 #2
0
        public override void AddComponents()
        {
            base.AddComponents();

            Width = 15;
            Depth = Layers.FlyingMob;

            var body = new SensorBodyComponent(-origin.X, -origin.Y, 15, 14);

            AddComponent(body);

            body.Body.LinearDamping = 10;

            var animation = CommonAse.Props;

            leftClaw  = animation.GetSlice("left_claw");
            rightClaw = animation.GetSlice("right_claw");
            top       = animation.GetSlice("claw_hand");

            AddComponent(new ShadowComponent(() => {
                SimpleRender(true);
            }));

            AddComponent(new RoomComponent());
        }
예제 #3
0
        protected override void SetStats()
        {
            base.SetStats();

            SetMaxHp(50);
            RemoveTag(Tags.LevelSave);

            Width       = 12;
            Height      = 13;
            TouchDamage = 2;

            var body = new SensorBodyComponent(1, 2, 10, 10);

            AddComponent(body);
            body.Body.LinearDamping = 4;

            AddComponent(new ZAnimationComponent("bk_orbital"));
            AddComponent(new ZComponent());
            AddComponent(new OrbitalComponent());

            AddComponent(new OrbitalComponent {
                Radius = 24,
                Lerp   = true
            });

            Depth = Layers.Wall;
            Become <OrbitingState>();
        }
예제 #4
0
        protected override void SetStats()
        {
            base.SetStats();

            Width  = 18;
            Height = 21;

            AddAnimation(GetAnimation());
            SetMaxHp(7);

            Become <IdleState>();

            var body = new SensorBodyComponent(1, 1, 16, 19);

            AddComponent(body);
            body.KnockbackModifier = 0;
        }
예제 #5
0
        protected override void SetStats()
        {
            base.SetStats();

            Width = 13;
            Depth = 1;

            AddAnimation("beehive");
            SetMaxHp(10);
            Become <IdleState>();

            var body = new SensorBodyComponent(2, 3, 9, 11);

            AddComponent(body);
            body.KnockbackModifier = 0;

            GetComponent <MobAnimationComponent>().ShadowOffset = -ZHeight;
        }
예제 #6
0
        protected override void SetStats()
        {
            base.SetStats();

            AddAnimation("ghost");
            SetMaxHp(2);

            Flying = true;
            Depth  = Layers.FlyingMob;

            Become <IdleState>();

            var body = new SensorBodyComponent(2, 2, 12, 12);

            AddComponent(body);

            body.Body.LinearDamping = 3;

            GetComponent <MobAnimationComponent>().Tint.A = Alpha;
        }
예제 #7
0
		protected override void SetStats() {
			base.SetStats();

			SetMaxHp(3);
			
			var body = new SensorBodyComponent(1, 1, 10, 8);
			AddComponent(body);
			body.Body.LinearDamping = 4;
			
			AddComponent(new ZAnimationComponent("fly"));
			AddComponent(new ZComponent());
			
			AddComponent(new OrbitalComponent {
				Radius = 12,
				Lerp = true
			});

			Depth = Layers.Wall;
			Become<IdleState>();
		}