Exemple #1
0
        public ArmorBrine(SceneGame world) : base(world)
        {
            Name        = "Brine Armor";
            Description = "It dehydrates on its own";

            ColorMatrix salt = ColorMatrix.TwoColor(new Color(131, 137, 158), new Color(255, 255, 255));

            Render = new CreaturePaperdollRender()
            {
                Head      = SpriteLoader.Instance.AddSprite("content/paperdoll_machine_head3"),
                Body      = SpriteLoader.Instance.AddSprite("content/paperdoll_machine_double"),
                HeadColor = salt,
                BodyColor = salt,
            };
            Mask.Add(Point.Zero);

            Effect.ApplyInnate(new EffectFamily(this, Family.Construct));
            Effect.ApplyInnate(new EffectFamily(this, Family.Bloodless));

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 400));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 5));

            Effect.ApplyInnate(new EffectTrait(this, Trait.Overclock, 1));

            Effect.ApplyInnate(new EffectStatPercent(this, Element.Water.DamageRate, -0.5));

            Skills.Add(new SkillSaltVolley());
        }
Exemple #2
0
        public ArmorBone(SceneGame world) : base(world)
        {
            Name        = "Bone Armor";
            Description = "It rots on its own";

            ColorMatrix bone = ColorMatrix.TwoColor(new Color(98, 23, 23), new Color(163, 163, 163));

            Render = new CreaturePaperdollRender()
            {
                Head      = SpriteLoader.Instance.AddSprite("content/paperdoll_machine_head5"),
                Body      = SpriteLoader.Instance.AddSprite("content/paperdoll_machine_double"),
                HeadColor = bone,
                BodyColor = bone,
            };
            Mask.Add(Point.Zero);

            Effect.ApplyInnate(new EffectFamily(this, Family.Construct));
            Effect.ApplyInnate(new EffectFamily(this, Family.Bloodless));

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 400));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 5));

            Effect.ApplyInnate(new EffectTrait(this, Trait.Undead, 1));

            Effect.ApplyInnate(new EffectStatPercent(this, Element.Dark.DamageRate, -0.5));

            Skills.Add(new SkillBoneVolley());
        }
Exemple #3
0
        public ArmorParis(SceneGame world) : base(world)
        {
            Name        = "Paris Armor";
            Description = "It corrodes on its own";

            ColorMatrix paris = ColorMatrix.TwoColor(new Color(27, 82, 65), new Color(118, 231, 200));

            Render = new CreaturePaperdollRender()
            {
                Head      = SpriteLoader.Instance.AddSprite("content/paperdoll_machine_head2"),
                Body      = SpriteLoader.Instance.AddSprite("content/paperdoll_machine_double"),
                HeadColor = paris,
                BodyColor = paris,
            };
            Mask.Add(Point.Zero);

            Effect.ApplyInnate(new EffectFamily(this, Family.Construct));
            Effect.ApplyInnate(new EffectFamily(this, Family.Bloodless));

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 400));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 5));

            Effect.ApplyInnate(new EffectTrait(this, Trait.Overclock, 1));

            Effect.ApplyInnate(new EffectStatPercent(this, Element.Acid.DamageRate, -0.5));

            Skills.Add(new SkillAcidVolley());
        }
Exemple #4
0
        public ArmorTenmoku(SceneGame world) : base(world)
        {
            Name        = "Tenmoku Armor";
            Description = "It glazes on its own";

            ColorMatrix tenmoku = ColorMatrix.TwoColor(new Color(89, 70, 55), new Color(114, 126, 141));

            Render = new CreaturePaperdollRender()
            {
                Head      = SpriteLoader.Instance.AddSprite("content/paperdoll_machine_head1"),
                Body      = SpriteLoader.Instance.AddSprite("content/paperdoll_machine_double"),
                HeadColor = tenmoku,
                BodyColor = tenmoku,
            };
            Mask.Add(Point.Zero);

            Effect.ApplyInnate(new EffectFamily(this, Family.Construct));
            Effect.ApplyInnate(new EffectFamily(this, Family.Bloodless));

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 400));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 5));

            Effect.ApplyInnate(new EffectTrait(this, Trait.Overclock, 1));

            Effect.ApplyInnate(new EffectStatPercent(this, Element.Earth.DamageRate, -0.5));

            Skills.Add(new SkillPetrolVolley());
            Skills.Add(new SkillOilBlast());
        }
Exemple #5
0
        public ArmorSullen(SceneGame world) : base(world)
        {
            Name        = "Sullen Armor";
            Description = "It sinks on its own";

            ColorMatrix sullen = ColorMatrix.TwoColor(new Color(95, 104, 122), new Color(125, 174, 173));

            Render = new CreaturePaperdollRender()
            {
                Head      = SpriteLoader.Instance.AddSprite("content/paperdoll_machine_head3"),
                Body      = SpriteLoader.Instance.AddSprite("content/paperdoll_machine_double"),
                HeadColor = sullen,
                BodyColor = sullen,
            };
            Mask.Add(Point.Zero);

            Effect.ApplyInnate(new EffectFamily(this, Family.Construct));
            Effect.ApplyInnate(new EffectFamily(this, Family.Bloodless));

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 400));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 5));

            Effect.ApplyInnate(new EffectTrait(this, Trait.Overclock, 1));

            Effect.ApplyInnate(new EffectStatPercent(this, Element.Water.DamageRate, -0.5));

            Skills.Add(new SkillPoisonVolley());
        }
Exemple #6
0
        public DeathKnight(SceneGame world) : base(world)
        {
            Name        = "Death Knight";
            Description = "Guardian of the fortress";

            Render = new CreaturePaperdollRender()
            {
                Head      = SpriteLoader.Instance.AddSprite("content/paperdoll_skull"),
                Body      = SpriteLoader.Instance.AddSprite("content/paperdoll_armor_knight"),
                HeadColor = ColorMatrix.TwoColor(new Color(129, 166, 0), new Color(237, 255, 106)),
                BodyColor = ColorMatrix.TwoColor(Color.Black, Color.SeaGreen),
            };
            Mask.Add(Point.Zero);

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

            Effect.ApplyInnate(new EffectTrait(this, Trait.Undead));
            Effect.ApplyInnate(new EffectFamily(this, Family.Bloodless));

            Skills.Add(new SkillAttack());
            Skills.Add(new SkillDrainTouch());
            Skills.Add(new SkillDeathSword());
            Skills.Add(new SkillBloodSword());
            Skills.Add(new SkillIronMaiden());
            Skills.Add(new SkillWarp());
        }
Exemple #7
0
        public ArmorCrystal(SceneGame world) : base(world)
        {
            Name        = "Crystal Armor";
            Description = "It refracts on its own";

            ColorMatrix crystal = ColorMatrix.TwoColor(new Color(154, 121, 223), new Color(206, 255, 253));

            Render = new CreaturePaperdollRender()
            {
                Head      = SpriteLoader.Instance.AddSprite("content/paperdoll_machine_head4"),
                Body      = SpriteLoader.Instance.AddSprite("content/paperdoll_machine_double"),
                HeadColor = crystal,
                BodyColor = crystal,
            };
            Mask.Add(Point.Zero);

            Effect.ApplyInnate(new EffectFamily(this, Family.Construct));
            Effect.ApplyInnate(new EffectFamily(this, Family.Bloodless));

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 400));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 5));

            Effect.ApplyInnate(new EffectTrait(this, Trait.Overclock, 1));

            Effect.ApplyInnate(new EffectStatPercent(this, Element.Thunder.DamageRate, -0.5));

            Skills.Add(new SkillChainLightningVolley());
        }
Exemple #8
0
        public Wallhach(SceneGame world) : base(world)
        {
            Name        = "Wallhach";
            Description = "Ancient minister of the end times";

            Render = new CreaturePaperdollRender()
            {
                Head      = SpriteLoader.Instance.AddSprite("content/paperdoll_hood"),
                Body      = SpriteLoader.Instance.AddSprite("content/paperdoll_armor"),
                HeadColor = ColorMatrix.TwoColor(new Color(233, 197, 50), new Color(255, 254, 213)),
                BodyColor = ColorMatrix.TwoColor(new Color(233, 197, 50), new Color(255, 254, 213)),
            };
            Mask.Add(Point.Zero);

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

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

            //Skills.Add(new SkillAttack());
            Skills.Add(new SkillPhalange());
            Skills.Add(new SkillGeomancy());
            Skills.Add(new SkillDeltaAttack());
            Skills.Add(new SkillHeptablast());
            Skills.Add(new SkillWedlock());
        }
Exemple #9
0
        public Ctholoid(SceneGame world) : base(world)
        {
            Name        = "Cthuloid";
            Description = "Inhabitant of the dark underground caverns";

            Render = new CreatureDirectionalRender()
            {
                Sprite = SpriteLoader.Instance.AddSprite("content/fish"),
                Color  = ColorMatrix.TwoColor(Color.Black, Color.LightSeaGreen)
            };
            Mask.Add(Point.Zero);

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 240));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 30));

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

            Skills.Add(new SkillAttack());
            Skills.Add(new SkillDive());
            Skills.Add(new SkillChaosJaunt());
        }
Exemple #10
0
        public SwampHag(SceneGame world) : base(world)
        {
            Name        = "Swamp Hag";
            Description = "A nice grandma to bake cookies from your entrails";

            Render = new CreaturePaperdollRender()
            {
                Head      = SpriteLoader.Instance.AddSprite("content/paperdoll_hag"),
                Body      = SpriteLoader.Instance.AddSprite("content/paperdoll_robe"),
                BodyColor = ColorMatrix.TwoColor(new Color(95, 61, 92), new Color(107, 139, 86)),
            };
            Mask.Add(Point.Zero);

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 250));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 30));

            Skills.Add(new SkillHagsKnife());
            Skills.Add(new SkillBoilTallow());
            Skills.Add(new SkillTallowCurse());
            Skills.Add(new SkillRaisePeatMummy());
            Skills.Add(new SkillIgniteBog());
        }
Exemple #11
0
        public BlastCannon(SceneGame world) : base(world)
        {
            Name        = "Blast Cannon";
            Description = "High Sentry";

            Render = new CreatureDirectionalRender()
            {
                Sprite = SpriteLoader.Instance.AddSprite("content/cannon"),
                Color  = ColorMatrix.TwoColor(Color.Black, Color.LightSeaGreen)
            };
            Mask.Add(Point.Zero);

            Effect.ApplyInnate(new EffectFamily(this, Family.Construct));
            Effect.ApplyInnate(new EffectFamily(this, Family.Bloodless));

            Effect.ApplyInnate(new EffectStat(this, Stat.HP, 600));
            Effect.ApplyInnate(new EffectStat(this, Stat.Attack, 25));

            Effect.ApplyInnate(new EffectMovementType(this, MovementType.Stationary, 10));

            Skills.Add(new SkillCannonShot());
        }
Exemple #12
0
        public SkeletonRobe(SceneGame world) : base(world)
        {
            Name        = "Skeleton";
            Description = "Dread mummy";

            Render = new CreaturePaperdollRender()
            {
                Head      = SpriteLoader.Instance.AddSprite("content/paperdoll_skull"),
                Body      = SpriteLoader.Instance.AddSprite("content/paperdoll_robe"),
                BodyColor = ColorMatrix.TwoColor(new Color(69, 56, 37), new Color(223, 213, 198)),
            };
            Mask.Add(Point.Zero);

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

            Effect.ApplyInnate(new EffectTrait(this, Trait.Undead));
            Effect.ApplyInnate(new EffectFamily(this, Family.Bloodless));

            Skills.Add(new SkillDrainTouch2());
            Skills.Add(new SkillAttack());
        }
Exemple #13
0
        public PrettyLich(SceneGame world) : base(world)
        {
            Name        = "Pretty Lich";
            Description = "I AM BEAUTIFUL";

            Render = new CreaturePaperdollRender()
            {
                Head      = SpriteLoader.Instance.AddSprite("content/paperdoll_pretty_lich"),
                Body      = SpriteLoader.Instance.AddSprite("content/paperdoll_robe"),
                BodyColor = ColorMatrix.TwoColor(new Color(69, 56, 37), new Color(198, 213, 223)),
            };
            Mask.Add(Point.Zero);

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

            Effect.ApplyInnate(new EffectTrait(this, Trait.Undead));
            Effect.ApplyInnate(new EffectFamily(this, Family.Bloodless));

            Skills.Add(new SkillDrainTouch2());
            Skills.Add(new SkillAttack());
        }
Exemple #14
0
        private IEnumerable <Wait> Shoot(Creature user, Tile tile, Point velocity)
        {
            Bullet     bullet     = new BulletTrail(user.World, SpriteLoader.Instance.AddSprite("content/bullet_wave2"), Vector2.Zero, ColorMatrix.TwoColor(Color.Blue, Color.PaleTurquoise), Color.DarkBlue, 0);
            Projectile projectile = new Projectile(bullet);

            projectile.ExtraEffects.Add(new ProjectileImpactAttack(BulletAttack));
            projectile.ExtraEffects.Add(new ProjectileCollideSolid());
            return(projectile.ShootStraight(user, tile, velocity, 3, MaxDistance));
        }