예제 #1
0
        public override void Update()
        {
            base.Update();

            SpriteReference cinder = SpriteLoader.Instance.AddSprite("content/cinder_ender");

            BigCreatureRender render = (BigCreatureRender)Render;
            bool powered             = this.HasStatusEffect(statusEffect => statusEffect is PoweredUp);

            if (powered)
            {
                render.Sprite = SpriteLoader.Instance.AddSprite("content/ender_erebizo_powered");
                for (int i = 0; i < 1; i++)
                {
                    Vector2 emitPos   = new Vector2(X * 16, Y * 16) + Mask.GetRandomPixel(Random);
                    Vector2 centerPos = VisualTarget;
                    Vector2 velocity  = Util.AngleToVector(Random.NextFloat() * MathHelper.TwoPi) * (Random.NextFloat() + 0.5f);
                    velocity = Vector2.Normalize(emitPos - centerPos) * (Random.NextFloat() + 0.5f);
                    new Cinder(World, cinder, emitPos, velocity, Random.Next(90) + 20);
                }
            }
            else
            {
                render.Sprite = SpriteLoader.Instance.AddSprite("content/ender_erebizo");
            }
        }
예제 #2
0
        public GashwalHairy(SceneGame world) : base(world)
        {
            Name        = "Hairy Gashwal";
            Description = "Disco Inferno";

            Render = new BigCreatureRender()
            {
                Sprite = SpriteLoader.Instance.AddSprite("content/hairy_gashwal"),
            };
            Mask.Add(new Point(0, 0));
            Mask.Add(new Point(0, 1));
            Mask.Add(new Point(1, 0));
            Mask.Add(new Point(1, 1));

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 1200));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 50));

            Effect.ApplyInnate(new EffectFamily(this, Family.Boss));

            Effect.ApplyInnate(new EffectTrait(this, Trait.Sparking));

            Skills.Add(new SkillAttack());
            Skills.Add(new SkillLightningClaw());
            Skills.Add(new SkillWildSpin());
            Skills.Add(new SkillPuddleStomp());
            Skills.Add(new SkillLightningDance());
            Skills.Add(new SkillRainDance());
            Skills.Add(new SkillPrance(3, 5));
            Skills.Add(new SkillPounce(0, 5));
        }
예제 #3
0
        public EnderErebizo(SceneGame world) : base(world)
        {
            Name        = "Ender Erebizo";
            Description = "The end has come";

            Render = new BigCreatureRender()
            {
                Sprite = SpriteLoader.Instance.AddSprite("content/ender_erebizo"),
                Color  = ColorMatrix.Identity,
            };
            Mask.Add(new Point(0, 0));
            Mask.Add(new Point(0, 1));
            Mask.Add(new Point(1, 0));
            Mask.Add(new Point(1, 1));

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 3000));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 160));

            Effect.ApplyInnate(new EffectFamily(this, Family.Boss));

            Skills.Add(new SkillEnderBlast());
            Skills.Add(new SkillEnderRam());
            Skills.Add(new SkillEnderMow());
            Skills.Add(new SkillEnderClaw());
            Skills.Add(new SkillEnderPowerUp());
            Skills.Add(new SkillEnderFlare());
            Skills.Add(new SkillEnderQuake());
            Skills.Add(new SkillSideJump(3, 5));
        }
예제 #4
0
        public Erebizo(SceneGame world) : base(world)
        {
            Name        = "Erebizo";
            Description = "Insatiable";

            Render = new BigCreatureRender()
            {
                Sprite = SpriteLoader.Instance.AddSprite("content/erebizo"),
                Color  = ColorMatrix.Identity,
            };
            Mask.Add(new Point(0, 0));
            Mask.Add(new Point(0, 1));
            Mask.Add(new Point(1, 0));
            Mask.Add(new Point(1, 1));

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 50));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 10));

            Effect.ApplyInnate(new EffectFamily(this, Family.Boss));

            Skills.Add(new SkillDrainTouch());
            Skills.Add(new SkillLightning());
            //Skills.Add(new SkillDrainTouch());
            //Skills.Add(new SkillAttack());
        }
예제 #5
0
        public Gashwal(SceneGame world) : base(world)
        {
            Name        = "Gashwal";
            Description = "Let's dance";

            Render = new BigCreatureRender()
            {
                Sprite = SpriteLoader.Instance.AddSprite("content/gashwal"),
            };
            Mask.Add(new Point(0, 0));
            Mask.Add(new Point(0, 1));
            Mask.Add(new Point(1, 0));
            Mask.Add(new Point(1, 1));

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 900));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 50));

            Effect.ApplyInnate(new EffectFamily(this, Family.Boss));

            Skills.Add(new SkillAttack());
            Skills.Add(new SkillWildSpin());
            Skills.Add(new SkillPuddleStomp());
            Skills.Add(new SkillRainDance());
            Skills.Add(new SkillPrance(3, 5));
            Skills.Add(new SkillPounce(0, 5));
        }
예제 #6
0
        public Pugnbaba(SceneGame world) : base(world)
        {
            Name        = "Pugnbaba";
            Description = "Something smell in here?";

            Render = new BigCreatureRender()
            {
                Sprite = SpriteLoader.Instance.AddSprite("content/pugnbaba"),
            };
            Mask.Add(new Point(0, 0));
            Mask.Add(new Point(0, 1));
            Mask.Add(new Point(1, 0));
            Mask.Add(new Point(1, 1));

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 900));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 50));

            Effect.ApplyInnate(new EffectFamily(this, Family.Boss));

            Skills.Add(new SkillAttack());
        }