示例#1
0
        public Demon(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite = PackTexture.Demon;
            Tiles = new Vector2( 385 / 5, 840 / 11);
            ProjectileSprite = PackTexture.projectiles[2];

            // Statistiques
            Vie = VieMax = 200;
            Vitesse = 0.10f;
            Vitesse_Attaque = 1f;
            Portee = 10f; // 2 = Corps à corps
            Dommages = 10;
            Puissance = 2;
            Defense = 5;
            IsRanged = true;
            XPUnite = 200;
            Inventory = new List<Item> { new PotionDeMana(this, Vector2.Zero) };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.DemonAttack);
            effetUniteDeath = new EffetSonore(PackSon.DemonDeath);
            statsLevelUpdate();
        }
示例#2
0
        public Invisibilite(Unite u, bool useMana = true)
            : base(u)
        {
            idSort   = 3;
            Cooldown = 5;
            Ticks    = 300;
            if (useMana)
            {
                CoutMana = 30;
            }
            else
            {
                CoutMana = 0;
            }
            Tiles = new Vector2(320 / 5, 320 / 5);

            NeedUnPoint    = false;
            SpriteBouton   = PackTexture.boutons[2];
            SpriteEffect   = PackTexture.sorts[0];
            sonSort        = new EffetSonore(PackSon.InvisibiliteCible);
            uniteFollowing = new List <Unite>();

            description1 = new Text("DescriptionInvisibilite1");
            description2 = new Text("DescriptionInvisibilite2");
        }
示例#3
0
        public Voleur(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Physique
            Scale = 0.4f;
            // Graphique
            Sprite        = PackTexture.Assassin;
            Tiles         = new Vector2(1757 / 5, 3150 / 11);
            Portrait      = PackTexture.VoleurPortrait;
            packAnimation = new PackAnimation();
            // Statistiques
            Vie             = VieMax = 350;
            Vitesse         = 0.12f;
            Vitesse_Attaque = 0.4f;
            Portee          = 1f; // 1 = Corps à corps
            Dommages        = 75;
            Puissance       = 10;
            Defense         = 3;
            DefenseMagique  = 3;
            XPUnite         = 200;

            spells = new List <Spell> {
                new Explosion(this), new Soin(this), new Invisibilite(this), new FurieSanguinaire(this), new Polymorphe(this), new Tempete(this)
            };

            Inventory = new List <Item> {
                new PotionDeVie(this, Vector2.Zero)
            };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.Epee);
            effetUniteDeath   = new EffetSonore(PackSon.CavalierDeath);
            statsLevelUpdate();
        }
示例#4
0
        public Guerrier(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite = PackTexture.Guerrier;
            Tiles = new Vector2(530 / 5, 930 / 11);

            // Statistiques
            Vie = VieMax = 400;
            Vitesse = 0.10f;
            Vitesse_Attaque = 0.5f;
            Portee = 1f; // 1 = Corps à corps
            Dommages = 50;
            Puissance = 10;
            Defense = 5;
            DefenseMagique = 3;
            XPUnite = 200;

            spells = new List<Spell> { new Explosion(this), new Soin(this), new Invisibilite(this), new FurieSanguinaire(this), new Polymorphe(this), new Tempete(this) };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.Epee);
            effetUniteDeath = new EffetSonore(PackSon.GruntDeath);
            statsLevelUpdate();
        }
示例#5
0
        public Ogre(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite           = PackTexture.Ogre;
            Tiles            = new Vector2(370 / 5, 800 / 11);
            ProjectileSprite = PackTexture.projectiles[2];

            // Statistiques
            Vie             = VieMax = 200;
            Vitesse         = 0.10f;
            Vitesse_Attaque = 1f;
            Portee          = 10f; // 2 = Corps à corps
            Dommages        = 20;
            Puissance       = 2;
            Defense         = 5;
            IsRanged        = true;
            XPUnite         = 200;
            Inventory       = new List <Item> {
                new PotionDeMana(this, Vector2.Zero)
            };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.DemonAttack);
            effetUniteDeath   = new EffetSonore(PackSon.OgreDeath);
            statsLevelUpdate();
        }
示例#6
0
        public Soin(Unite u, bool useMana = true)
            : base(u)
        {
            idSort   = 6;
            Cooldown = 1;
            Ticks    = 1;
            if (useMana)
            {
                CoutMana = 15;
            }
            else
            {
                CoutMana = 0;
            }
            Animation      = PackAnimation.Soin();
            AnimationReset = PackAnimation.Soin();
            Tiles          = new Vector2(180 / 5, 35);

            NeedUnPoint  = false;
            SpriteBouton = PackTexture.boutons[1];
            SpriteEffect = PackTexture.sorts[1];
            sonSort      = new EffetSonore(PackSon.Soin);

            description1 = new Text("DescriptionSoin1");
            description2 = new Text("DescriptionSoin2");
        }
示例#7
0
        public Voleur(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Physique
            Scale = 0.4f;
            // Graphique
            Sprite = PackTexture.Assassin;
            Tiles = new Vector2(1757 / 5, 3150 / 11);
            Portrait = PackTexture.VoleurPortrait;
            packAnimation = new PackAnimation();
            // Statistiques
            Vie = VieMax = 350;
            Vitesse = 0.12f;
            Vitesse_Attaque = 0.4f;
            Portee = 1f; // 1 = Corps à corps
            Dommages = 75;
            Puissance = 10;
            Defense = 3;
            DefenseMagique = 3;
            XPUnite = 200;

            spells = new List<Spell> { new Explosion(this), new Soin(this), new Invisibilite(this), new FurieSanguinaire(this), new Polymorphe(this), new Tempete(this) };

            Inventory = new List<Item> { new PotionDeVie(this, Vector2.Zero) };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.Epee);
            effetUniteDeath = new EffetSonore(PackSon.CavalierDeath);
            statsLevelUpdate();
        }
示例#8
0
        public Guerrier(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite = PackTexture.Guerrier;
            Tiles  = new Vector2(530 / 5, 930 / 11);

            // Statistiques
            Vie             = VieMax = 400;
            Vitesse         = 0.10f;
            Vitesse_Attaque = 0.5f;
            Portee          = 1f; // 1 = Corps à corps
            Dommages        = 50;
            Puissance       = 10;
            Defense         = 5;
            DefenseMagique  = 3;
            XPUnite         = 200;

            spells = new List <Spell> {
                new Explosion(this), new Soin(this), new Invisibilite(this), new FurieSanguinaire(this), new Polymorphe(this), new Tempete(this)
            };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.Epee);
            effetUniteDeath   = new EffetSonore(PackSon.GruntDeath);
            statsLevelUpdate();
        }
示例#9
0
        public Chasseur(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite = PackTexture.Chasseur;
            Tiles = new Vector2( 1757 / 5, 3131 / 11);
            Portrait = PackTexture.ChasseurPortrait;
            packAnimation = new PackAnimation();
            ProjectileSprite = PackTexture.projectiles[0];
            Scale = 0.3f;
            // Statistiques
            Vie = VieMax = 350;
            Vitesse = 0.10f;
            Vitesse_Attaque = 0.6f;
            Portee = 15f; // 2 = Corps à corps
            Dommages = 80;
            Puissance = 10;
            Defense = 2;
            IsRanged = true;
            XPUnite = 200;

            spells = new List<Spell> { new Explosion(this), new Soin(this), new Invisibilite(this), new FurieSanguinaire(this), new Polymorphe(this), new Tempete(this) };

            Inventory = new List<Item> { new PotionDeVie(this, Vector2.Zero) };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.ArcherAttack);
            effetUniteDeath = new EffetSonore(PackSon.GruntDeath);
            statsLevelUpdate();
        }
示例#10
0
        public Archer(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite = PackTexture.Archer;
            Tiles = new Vector2( 295 / 5, 660 / 9);
            Portrait = PackTexture.ArcherPortrait;
            packAnimation = new AnimationArcher();
            ProjectileSprite = PackTexture.projectiles[0];

            // Statistiques
            Vie = VieMax = 200;
            Vitesse = 0.10f;
            Vitesse_Attaque = 1f;
            Portee = 15f; // 2 = Corps à corps
            Dommages = 10;
            Puissance = 1;
            Defense = 5;
            IsRanged = true;
            XPUnite = 200;
            Inventory = new List<Item> { new PotionDeVie(this, Vector2.Zero) };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.ArcherAttack);
            effetUniteDeath = new EffetSonore(PackSon.GruntDeath);
            statsLevelUpdate();
        }
示例#11
0
        public Chasseur(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite           = PackTexture.Chasseur;
            Tiles            = new Vector2(1757 / 5, 3131 / 11);
            Portrait         = PackTexture.ChasseurPortrait;
            packAnimation    = new PackAnimation();
            ProjectileSprite = PackTexture.projectiles[0];
            Scale            = 0.3f;
            // Statistiques
            Vie             = VieMax = 350;
            Vitesse         = 0.10f;
            Vitesse_Attaque = 0.6f;
            Portee          = 15f; // 2 = Corps à corps
            Dommages        = 80;
            Puissance       = 10;
            Defense         = 2;
            IsRanged        = true;
            XPUnite         = 200;

            spells = new List <Spell> {
                new Explosion(this), new Soin(this), new Invisibilite(this), new FurieSanguinaire(this), new Polymorphe(this), new Tempete(this)
            };

            Inventory = new List <Item> {
                new PotionDeVie(this, Vector2.Zero)
            };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.ArcherAttack);
            effetUniteDeath   = new EffetSonore(PackSon.GruntDeath);
            statsLevelUpdate();
        }
示例#12
0
        public Odin(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Physique
            largeurPhysique = 5;
            CreateBody(largeurPhysique, Position);
            // Graphique
            Sprite        = PackTexture.Odin;
            Tiles         = new Vector2(160, 160);
            Portrait      = PackTexture.CavalierPortrait;
            packAnimation = new AnimationOdin();

            // Statistiques
            Vie             = VieMax = 3500;
            Vitesse         = 0.20f;
            Vitesse_Attaque = 1f;
            Portee          = 1f; // 1 = Corps à corps
            Dommages        = 75;
            Puissance       = 100;
            Defense         = 12;
            XPUnite         = 200;
            Inventory       = new List <Item> {
                new PotionDeVie(this, Vector2.Zero)
            };

            spells = new List <Spell> {
                new NovaDeFeu(this), new Bump(this)
            };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.Epee);
            effetUniteDeath   = new EffetSonore(PackSon.CavalierDeath);
            statsLevelUpdate();
        }
示例#13
0
        public Cavalier(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite   = PackTexture.Cavalier;
            Tiles    = new Vector2(370 / 5, 835 / 11);
            Portrait = PackTexture.CavalierPortrait;

            // Statistiques
            Vie             = VieMax = 300;
            Vitesse         = 0.15f;
            Vitesse_Attaque = 1f;
            Portee          = 1f; // 1 = Corps à corps
            Dommages        = 10;
            Puissance       = 1;
            Defense         = 10;
            XPUnite         = 200;
            Inventory       = new List <Item> {
                new PotionDeVie(this, Vector2.Zero)
            };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.Epee);
            effetUniteDeath   = new EffetSonore(PackSon.CavalierDeath);
            statsLevelUpdate();
        }
示例#14
0
        public static void Initialize(ContentManager content)
        {
            // Sons d'attaque
            Epee         = content.Load <SoundEffect>("Sons/sword3"); // Attaque cavalier
            GruntAttack  = content.Load <SoundEffect>("Sons/GruntAttack");
            ArcherAttack = content.Load <SoundEffect>("Sons/ArcherAttack");
            TrollAttack  = content.Load <SoundEffect>("Sons/AxeMissileLaunch1");
            DemonAttack  = content.Load <SoundEffect>("Sons/DemonMissileLaunch1");

            // Sons de mort
            GruntDeath    = content.Load <SoundEffect>("Sons/Gruntquimeurt");
            CavalierDeath = content.Load <SoundEffect>("Sons/Cavalierquimeurt");
            DemonDeath    = content.Load <SoundEffect>("Sons/DemonDeath1");
            OgreDeath     = content.Load <SoundEffect>("Sons/OgreDeath1");
            SheepDeath    = content.Load <SoundEffect>("Sons/SheepDeath");

            // Sons des sorts.
            Soin                  = content.Load <SoundEffect>("Sons/soin");
            Explosion             = content.Load <SoundEffect>("Sons/explosion");
            InvisibiliteCible     = content.Load <SoundEffect>("Sons/InvisibilityTarget");
            FurieSanguinaireCible = content.Load <SoundEffect>("Sons/BloodlustTarget");
            PolymorphCible        = content.Load <SoundEffect>("Sons/PolymorphTarget");

            // Autres
            LevelUp = content.Load <SoundEffect>("Sons/LevelUp");
            EffetSonore.InitEffects();
        }
示例#15
0
        public Archer(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite           = PackTexture.Archer;
            Tiles            = new Vector2(295 / 5, 660 / 9);
            Portrait         = PackTexture.ArcherPortrait;
            packAnimation    = new AnimationArcher();
            ProjectileSprite = PackTexture.projectiles[0];

            // Statistiques
            Vie             = VieMax = 200;
            Vitesse         = 0.10f;
            Vitesse_Attaque = 1f;
            Portee          = 15f; // 2 = Corps à corps
            Dommages        = 10;
            Puissance       = 1;
            Defense         = 5;
            IsRanged        = true;
            XPUnite         = 200;
            Inventory       = new List <Item> {
                new PotionDeVie(this, Vector2.Zero)
            };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.ArcherAttack);
            effetUniteDeath   = new EffetSonore(PackSon.GruntDeath);
            statsLevelUpdate();
        }
示例#16
0
        public Grunt(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite   = PackTexture.Grunt;
            Tiles    = new Vector2(380 / 5, 620 / 11);
            Portrait = PackTexture.GruntPortrait;

            // Statistiques
            Vie             = VieMax = 200;
            Vitesse         = 0.10f;
            Vitesse_Attaque = 1f;
            Portee          = 1f; // 2 = Corps à corps
            Dommages        = 20;
            Puissance       = 5;
            Defense         = 5;
            XPUnite         = 200;
            Inventory       = new List <Item> {
                new PotionDeVie(this, Vector2.Zero)
            };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.GruntAttack);
            effetUniteDeath   = new EffetSonore(PackSon.GruntDeath);
            statsLevelUpdate();
        }
示例#17
0
        public Odin(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Physique
            largeurPhysique = 5;
            CreateBody(largeurPhysique, Position);
            // Graphique
            Sprite = PackTexture.Odin;
            Tiles = new Vector2(160, 160);
            Portrait = PackTexture.CavalierPortrait;
            packAnimation = new AnimationOdin();

            // Statistiques
            Vie = VieMax = 3500;
            Vitesse = 0.20f;
            Vitesse_Attaque = 1f;
            Portee = 1f; // 1 = Corps à corps
            Dommages = 75;
            Puissance = 100;
            Defense = 12;
            XPUnite = 200;
            Inventory = new List<Item> { new PotionDeVie(this, Vector2.Zero) };

            spells = new List<Spell> { new NovaDeFeu(this), new Bump(this)} ;

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.Epee);
            effetUniteDeath = new EffetSonore(PackSon.CavalierDeath);
            statsLevelUpdate();
        }
示例#18
0
        public Spell(Unite u, bool useMana = true)
        {
            unite            = u;
            AnimationCurrent = AnimationLimite;

            Cooldown       = 1;
            Ticks          = 1;
            CoutMana       = 1;
            Animation      = null;
            AnimationReset = null;
            Tiles          = Vector2.Zero;

            NeedUnPoint  = false;
            SpriteBouton = PackTexture.blank;
            SpriteEffect = PackTexture.blank;
            sonSort      = null;
        }
示例#19
0
        protected int TickCurrent; // Tick actuel

        #endregion Fields

        #region Constructors

        public Spell(Unite u, bool useMana = true)
        {
            unite = u;
            AnimationCurrent = AnimationLimite;

            Cooldown = 1;
            Ticks = 1;
            CoutMana = 1;
            Animation = null;
            AnimationReset = null;
            Tiles = Vector2.Zero;

            NeedUnPoint = false;
            SpriteBouton = PackTexture.blank;
            SpriteEffect = PackTexture.blank;
            sonSort = null;
        }
示例#20
0
        public FurieSanguinaire(Unite u, bool useMana = true)
            : base(u)
        {
            idSort = 2;
            Cooldown = 5;
            Ticks = 300;
            if (useMana)
                CoutMana = 30;
            else
                CoutMana = 0;
            Tiles = new Vector2(320 / 5, 320 / 5);

            NeedUnPoint = false;
            SpriteBouton = PackTexture.boutons[5];
            SpriteEffect = PackTexture.sorts[0];
            sonSort = new EffetSonore(PackSon.FurieSanguinaireCible);
            description = new Text("DescriptionFurieSanguinaire");
        }
示例#21
0
        public Polymorphe(Unite u, bool useMana = true)
            : base(u)
        {
            idSort = 4;
            Cooldown = 2;
            Ticks = 1;
            if (useMana)
                CoutMana = 30;
            else
                CoutMana = 0;

            NeedUnPoint = false;
            NeedAUnit = true;
            SpriteBouton = PackTexture.boutons[12];
            SpriteEffect = PackTexture.sorts[0];
            sonSort = new EffetSonore(PackSon.PolymorphCible);
            description = new Text("DescriptionPolymorph");
        }
示例#22
0
        public Tempete(Unite u, bool useMana = true)
            : base(u)
        {
            idSort = 7;
            Cooldown = 5;
            Ticks = 200;
            CoutMana = 50;
            Animation = PackAnimation.Explosion();
            AnimationReset = PackAnimation.Explosion();
            Tiles = new Vector2(320 / 5, 320 / 5);

            NeedUnPoint = false;
            SpriteBouton = PackTexture.boutons[13];
            SpriteEffect = PackTexture.sorts[0];
            sonSort = new EffetSonore(PackSon.Explosion);

            description1 = new Text("DescriptionTempete1");
            description2 = new Text("DescriptionTempete2");
        }
示例#23
0
        public Tempete(Unite u, bool useMana = true)
            : base(u)
        {
            idSort         = 7;
            Cooldown       = 5;
            Ticks          = 200;
            CoutMana       = 50;
            Animation      = PackAnimation.Explosion();
            AnimationReset = PackAnimation.Explosion();
            Tiles          = new Vector2(320 / 5, 320 / 5);

            NeedUnPoint  = false;
            SpriteBouton = PackTexture.boutons[13];
            SpriteEffect = PackTexture.sorts[0];
            sonSort      = new EffetSonore(PackSon.Explosion);

            description1 = new Text("DescriptionTempete1");
            description2 = new Text("DescriptionTempete2");
        }
示例#24
0
        public RegenMana(Unite u, bool useMana = true)
            : base(u)
        {
            idSort = 5;
            Cooldown = 2;
            Ticks = 1;
            if (useMana)
                CoutMana = 500;
            else
                CoutMana = 0;
            Animation = PackAnimation.Soin();
            AnimationReset = PackAnimation.Soin();
            Tiles = new Vector2(180 / 5, 35);

            NeedUnPoint = false;
            SpriteBouton = PackTexture.boutons[2];
            SpriteEffect = PackTexture.sorts[2];
            sonSort = new EffetSonore(PackSon.Soin);
        }
示例#25
0
        public Explosion(Unite u, bool useMana = true)
            : base(u)
        {
            idSort = 1;
            Cooldown = 2;
            Ticks = 1;
            CoutMana = 10;
            Animation = PackAnimation.Explosion();
            AnimationReset = PackAnimation.Explosion();
            Tiles = new Vector2(320 / 5, 320 / 5);

            NeedUnPoint = true;
            SpriteBouton = PackTexture.boutons[0];
            SpriteEffect = PackTexture.sorts[0];
            sonSort = new EffetSonore(PackSon.Explosion);

            description1 = new Text("DescriptionExplosion1");
            description2 = new Text("DescriptionExplosion2");
            description3 = new Text("DescriptionExplosion3");
        }
示例#26
0
        public Explosion(Unite u, bool useMana = true)
            : base(u)
        {
            idSort         = 1;
            Cooldown       = 2;
            Ticks          = 1;
            CoutMana       = 10;
            Animation      = PackAnimation.Explosion();
            AnimationReset = PackAnimation.Explosion();
            Tiles          = new Vector2(320 / 5, 320 / 5);

            NeedUnPoint  = true;
            SpriteBouton = PackTexture.boutons[0];
            SpriteEffect = PackTexture.sorts[0];
            sonSort      = new EffetSonore(PackSon.Explosion);

            description1 = new Text("DescriptionExplosion1");
            description2 = new Text("DescriptionExplosion2");
            description3 = new Text("DescriptionExplosion3");
        }
示例#27
0
        public Invisibilite(Unite u, bool useMana = true)
            : base(u)
        {
            idSort = 3;
            Cooldown = 5;
            Ticks = 300;
            if (useMana)
                CoutMana = 30;
            else
                CoutMana = 0;
            Tiles = new Vector2(320 / 5, 320 / 5);

            NeedUnPoint = false;
            SpriteBouton = PackTexture.boutons[2];
            SpriteEffect = PackTexture.sorts[0];
            sonSort = new EffetSonore(PackSon.InvisibiliteCible);
            uniteFollowing = new List<Unite>();

            description1 = new Text("DescriptionInvisibilite1");
            description2 = new Text("DescriptionInvisibilite2");
        }
示例#28
0
        public Polymorphe(Unite u, bool useMana = true)
            : base(u)
        {
            idSort   = 4;
            Cooldown = 2;
            Ticks    = 1;
            if (useMana)
            {
                CoutMana = 30;
            }
            else
            {
                CoutMana = 0;
            }

            NeedUnPoint  = false;
            NeedAUnit    = true;
            SpriteBouton = PackTexture.boutons[12];
            SpriteEffect = PackTexture.sorts[0];
            sonSort      = new EffetSonore(PackSon.PolymorphCible);
            description  = new Text("DescriptionPolymorph");
        }
示例#29
0
        public FurieSanguinaire(Unite u, bool useMana = true)
            : base(u)
        {
            idSort   = 2;
            Cooldown = 5;
            Ticks    = 300;
            if (useMana)
            {
                CoutMana = 30;
            }
            else
            {
                CoutMana = 0;
            }
            Tiles = new Vector2(320 / 5, 320 / 5);

            NeedUnPoint  = false;
            SpriteBouton = PackTexture.boutons[5];
            SpriteEffect = PackTexture.sorts[0];
            sonSort      = new EffetSonore(PackSon.FurieSanguinaireCible);
            description  = new Text("DescriptionFurieSanguinaire");
        }
示例#30
0
        public Soin(Unite u, bool useMana = true)
            : base(u)
        {
            idSort = 6;
            Cooldown = 1;
            Ticks = 1;
            if (useMana)
                CoutMana = 15;
            else
                CoutMana = 0;
            Animation = PackAnimation.Soin();
            AnimationReset = PackAnimation.Soin();
            Tiles = new Vector2(180 / 5, 35);

            NeedUnPoint = false;
            SpriteBouton = PackTexture.boutons[1];
            SpriteEffect = PackTexture.sorts[1];
            sonSort = new EffetSonore(PackSon.Soin);

            description1 = new Text("DescriptionSoin1");
            description2 = new Text("DescriptionSoin2");
        }
示例#31
0
        public Unite(Vector2 Position, int Level = 1)
            : base(Position)
        {
            // Constructeur par defaut d'une unité
            Vie               = VieMax = 1;
            Mana              = ManaMax = 200;
            ManaRegen         = 300;
            Vitesse           = 0.1f;
            Portee            = 1; // 1 = Corps à corps
            Dommages          = 1;
            Puissance         = 1;
            effetUniteAttaque = new EffetSonore(PackSon.Epee);
            effetUniteDeath   = new EffetSonore(PackSon.GruntDeath);
            effetUniteLevelUp = new EffetSonore(PackSon.LevelUp);
            nbFrameSonJoue    = 0;
            Vitesse_Attaque   = 1.00f;
            Defense           = 0;
            XPUnite           = 0;
            this.Level        = Level;
            // Graphique par defaut
            Sprite = PackTexture.blank;
            Tiles  = Vector2.One;
            color  = Color.White;

            id     = Map.GetId();
            idWave = -1;
            spells = new List <Spell> {
                new Soin(this)
            };
            spellsUpdate = new List <Spell> {
            };
            Inventory    = new List <Item> {
            };
            Stuff        = new List <Item> {
            };

            //Dialogue.Add("Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.");
        }
示例#32
0
        public RegenMana(Unite u, bool useMana = true)
            : base(u)
        {
            idSort   = 5;
            Cooldown = 2;
            Ticks    = 1;
            if (useMana)
            {
                CoutMana = 500;
            }
            else
            {
                CoutMana = 0;
            }
            Animation      = PackAnimation.Soin();
            AnimationReset = PackAnimation.Soin();
            Tiles          = new Vector2(180 / 5, 35);

            NeedUnPoint  = false;
            SpriteBouton = PackTexture.boutons[2];
            SpriteEffect = PackTexture.sorts[2];
            sonSort      = new EffetSonore(PackSon.Soin);
        }
示例#33
0
        public Cavalier(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite = PackTexture.Cavalier;
            Tiles = new Vector2(370 / 5, 835 / 11);
            Portrait = PackTexture.CavalierPortrait;

            // Statistiques
            Vie = VieMax = 300;
            Vitesse = 0.15f;
            Vitesse_Attaque = 1f;
            Portee = 1f; // 1 = Corps à corps
            Dommages = 10;
            Puissance = 1;
            Defense = 10;
            XPUnite = 200;
            Inventory = new List<Item> { new PotionDeVie(this, Vector2.Zero) };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.Epee);
            effetUniteDeath = new EffetSonore(PackSon.CavalierDeath);
            statsLevelUpdate();
        }
示例#34
0
        public Troll(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite = PackTexture.Troll;
            Tiles = new Vector2( 311 / 5, 620 / 11);
            ProjectileSprite = PackTexture.projectiles[1];

            // Statistiques
            Vie = VieMax = 200;
            Vitesse = 0.10f;
            Vitesse_Attaque = 1f;
            Portee = 10f; // 2 = Corps à corps
            Dommages = 10;
            Puissance = 1;
            Defense = 5;
            IsRanged = true;
            XPUnite = 200;

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.TrollAttack);
            effetUniteDeath = new EffetSonore(PackSon.GruntDeath);
            statsLevelUpdate();
        }
示例#35
0
        public Grunt(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite = PackTexture.Grunt;
            Tiles = new Vector2( 380 / 5, 620 / 11);
            Portrait = PackTexture.GruntPortrait;

            // Statistiques
            Vie = VieMax = 200;
            Vitesse = 0.10f;
            Vitesse_Attaque = 1f;
            Portee = 1f; // 2 = Corps à corps
            Dommages = 20;
            Puissance = 5;
            Defense = 5;
            XPUnite = 200;
            Inventory = new List<Item> { new PotionDeVie(this, Vector2.Zero) };

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.GruntAttack);
            effetUniteDeath = new EffetSonore(PackSon.GruntDeath);
            statsLevelUpdate();
        }
示例#36
0
        public Troll(Vector2 Position, int Level = 1)
            : base(Position, Level)
        {
            // Graphique
            Sprite           = PackTexture.Troll;
            Tiles            = new Vector2(311 / 5, 620 / 11);
            ProjectileSprite = PackTexture.projectiles[1];

            // Statistiques
            Vie             = VieMax = 200;
            Vitesse         = 0.10f;
            Vitesse_Attaque = 1f;
            Portee          = 10f; // 2 = Corps à corps
            Dommages        = 10;
            Puissance       = 1;
            Defense         = 5;
            IsRanged        = true;
            XPUnite         = 200;

            // Sons
            effetUniteAttaque = new EffetSonore(PackSon.TrollAttack);
            effetUniteDeath   = new EffetSonore(PackSon.GruntDeath);
            statsLevelUpdate();
        }
示例#37
0
        public Unite(Vector2 Position, int Level = 1)
            : base(Position)
        {
            // Constructeur par defaut d'une unité
            Vie = VieMax = 1;
            Mana = ManaMax = 200;
            ManaRegen = 300;
            Vitesse = 0.1f;
            Portee = 1; // 1 = Corps à corps
            Dommages = 1;
            Puissance = 1;
            effetUniteAttaque = new EffetSonore(PackSon.Epee);
            effetUniteDeath = new EffetSonore(PackSon.GruntDeath);
            effetUniteLevelUp = new EffetSonore(PackSon.LevelUp);
            nbFrameSonJoue = 0;
            Vitesse_Attaque = 1.00f;
            Defense = 0;
            XPUnite = 0;
            this.Level = Level;
            // Graphique par defaut
            Sprite = PackTexture.blank;
            Tiles = Vector2.One;
            color = Color.White;

            id = Map.GetId();
            idWave = -1;
            spells = new List<Spell> {  new Soin(this)};
            spellsUpdate = new List<Spell> { };
            Inventory = new List<Item> { };
            Stuff = new List<Item> { };

            //Dialogue.Add("Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.");
        }