Ejemplo n.º 1
0
        public static DrawData AmmoGunDrawData(PlayerDrawInfo drawInfo, string ammoCounterSprite, int yOffset, float angleInRadians)
        {
            Player           drawPlayer = drawInfo.drawPlayer;
            Mod              mod        = Highlander.Instance;
            HighlanderPlayer modPlayer  = drawPlayer.GetModPlayer <HighlanderPlayer>();
            float            scale      = 1f;
            Texture2D        texture    = mod.GetTexture(ammoCounterSprite);
            int              drawX      = (int)(drawInfo.position.X + drawPlayer.width / 2f - Main.screenPosition.X);
            int              drawY      = (int)(drawInfo.position.Y + yOffset + 70 - Main.screenPosition.Y);

            if (drawPlayer.mount.Active)
            {
                MountData data = drawPlayer.mount._data;

                Vector2 pos = new Vector2();
                pos.Y += data.heightBoost;

                pos += drawInfo.position;

                int smoothOffset = (int)((drawInfo.position - Main.screenPosition) - (drawPlayer.position - Main.screenPosition)).Y + data.heightBoost;

                drawX = (int)(pos.X + drawPlayer.width / 2f - Main.screenPosition.X);
                drawY = (int)(pos.Y + yOffset - smoothOffset + 70 - Main.screenPosition.Y);
            }

            return(new DrawData(texture, new Vector2(drawX, drawY), new Rectangle(0, 0, texture.Width, texture.Height), Color.White, angleInRadians, new Vector2(texture.Width / 2f, texture.Height / 2f), scale, SpriteEffects.None, 0));
        }
Ejemplo n.º 2
0
        public static DrawData AutonomousOrbData(PlayerDrawInfo drawInfo, string autonomousOrb, int yOffset, float angleInRadians)
        {
            Player           drawPlayer = drawInfo.drawPlayer;
            Mod              mod        = Highlander.Instance;
            HighlanderPlayer modPlayer  = drawPlayer.GetModPlayer <HighlanderPlayer>();

            var dye = drawPlayer.dye[0];

            // Tick up the hat effect timer
            modPlayer.hatEffectTime = (short)((modPlayer.hatEffectTime + 1) % 47);
            short timer = modPlayer.hatEffectTime;

            float     scale     = 1f;
            Texture2D texture   = mod.GetTexture(autonomousOrb);
            int       drawX     = (int)(drawInfo.position.X + drawPlayer.width / 2f - Main.screenPosition.X);
            int       drawY     = (int)(drawInfo.position.Y + yOffset + 70 - Main.screenPosition.Y);
            int       numFrames = 1;
            int       currFrame = 0;

            if (drawPlayer.mount.Active)
            {
                MountData data = drawPlayer.mount._data;

                Vector2 pos = new Vector2();
                pos.Y += data.heightBoost;

                pos  += drawInfo.position;
                drawX = (int)(pos.X + drawPlayer.width / 2f - Main.screenPosition.X);
                drawY = (int)(pos.Y + yOffset + 70 - Main.screenPosition.Y);
            }

            if (timer <= 14)
            {
                //currFrame = 0;
                drawY -= 0;
            }
            else if (timer <= 23)
            {
                //currFrame = 1;
                drawY -= 1;
            }
            else if (timer <= 38)
            {
                //currFrame = 2;
                drawY -= 2;
            }
            else if (timer <= 47)
            {
                //currFrame = 3;
                drawY -= 1;
            }

            Rectangle frame = new Rectangle(0, currFrame * texture.Height / numFrames, texture.Width, texture.Height / numFrames);

            int   cX    = (int)(drawPlayer.position.X / 16f);
            int   cY    = (int)((drawPlayer.position.Y) / 16f);
            Color color = Lighting.GetColor(cX, cY, Color.White);

            return(new DrawData(texture, new Vector2(drawX, drawY), frame, color, angleInRadians, new Vector2(texture.Width / 2f, texture.Height / 2f), scale, SpriteEffects.None, 0));
        }
Ejemplo n.º 3
0
        public override void HoldItem(Player player)
        {
            HighlanderPlayer modPlayer = player.GetModPlayer <HighlanderPlayer>();

            modPlayer.holdingAmmoGun = true;
            modPlayer.maxAmmo        = MaxAmmo;
            modPlayer.currentAmmo    = ammo;
            base.HoldItem(player);
        }
Ejemplo n.º 4
0
        public static DrawData OozeDrawData(PlayerDrawInfo drawInfo, string unusualSprite, int yOffset, float angleInRadians)
        {
            Player           drawPlayer = drawInfo.drawPlayer;
            Mod              mod        = Highlander.Instance;
            HighlanderPlayer modPlayer  = drawPlayer.GetModPlayer <HighlanderPlayer>();
            float            scale      = 1f;
            Texture2D        texture    = mod.GetTexture(unusualSprite);
            int              drawX      = (int)(drawInfo.position.X + drawPlayer.width / 2f - Main.screenPosition.X);
            int              drawY      = (int)(drawInfo.position.Y + yOffset + 75 + drawPlayer.height / 0.6f - Main.screenPosition.Y);

            if (drawPlayer.mount.Active)
            {
                MountData data = drawPlayer.mount._data;

                Vector2 pos = new Vector2();
                pos.Y += data.heightBoost;

                pos  += drawInfo.position;
                drawX = (int)(pos.X + drawPlayer.width / 2f - Main.screenPosition.X);
                drawY = (int)(pos.Y + yOffset + 70 + 75 - Main.screenPosition.Y);
            }

            int numFrames = 8;

            int   cX    = (int)(drawPlayer.position.X / 16f);
            int   cY    = (int)((drawPlayer.position.Y) / 16f);
            Color color = Lighting.GetColor(cX, cY, Color.White);
            Color other = Color.White;

            color = new Color((color.R * 2 + other.R) / 3, (color.G * 2 + other.G) / 3, (color.B * 2 + other.B) / 3, (color.A * 2 + other.A) / 3) * 0.9f;// Color.White * 0.8f;

            if (modPlayer.unusualLayerTime > 10)
            {
                int newFrame = Main.rand.Next(0, numFrames) * texture.Height / numFrames;
                while (newFrame == modPlayer.unusualFrame)
                {
                    newFrame = Main.rand.Next(0, numFrames) * texture.Height / numFrames;
                }
                modPlayer.unusualFrame     = newFrame;
                modPlayer.unusualLayerTime = 0;
            }

            modPlayer.unusualLayerTime++;
            return(new DrawData(texture, new Vector2(drawX, drawY), new Rectangle(0, modPlayer.unusualFrame, texture.Width, texture.Height / numFrames), color, angleInRadians, new Vector2(texture.Width / 2f, texture.Height / 2f), scale, SpriteEffects.None, 0));
        }
Ejemplo n.º 5
0
        public static DrawData TallHatData(PlayerDrawInfo drawInfo, string hat, int yOffset, float angleInRadians)
        {
            Player           drawPlayer = drawInfo.drawPlayer;
            Mod              mod        = Highlander.Instance;
            HighlanderPlayer modPlayer  = drawPlayer.GetModPlayer <HighlanderPlayer>();

            var dye = drawPlayer.dye[0];

            float     scale   = 1f;
            Texture2D texture = mod.GetTexture(hat);
            int       drawX   = (int)(drawInfo.position.X + drawPlayer.width / 2f - Main.screenPosition.X);
            int       drawY   = (int)(drawInfo.position.Y + yOffset + 0 - Main.screenPosition.Y);

            int playerFrame = drawPlayer.bodyFrame.Y / drawPlayer.bodyFrame.Height;

            if (playerFrame == 7 || playerFrame == 8 || playerFrame == 9 || playerFrame == 14 || playerFrame == 15 || playerFrame == 16)
            {
                drawY -= 2;
            }

            if (drawPlayer.mount.Active)
            {
                MountData data = drawPlayer.mount._data;

                Vector2 pos = new Vector2();
                pos.Y += data.heightBoost;

                pos  += drawInfo.position;
                drawX = (int)(pos.X + drawPlayer.width / 2f - Main.screenPosition.X);
                drawY = (int)(pos.Y + yOffset - Main.screenPosition.Y);
            }

            Rectangle frame = new Rectangle(0, 0, texture.Width, texture.Height);

            int   cX    = (int)(drawPlayer.position.X / 16f);
            int   cY    = (int)((drawPlayer.position.Y) / 16f);
            Color color = Lighting.GetColor(cX, cY, Color.White);

            SpriteEffects effect = drawPlayer.direction == -1 ? SpriteEffects.FlipHorizontally : SpriteEffects.None;

            return(new DrawData(texture, new Vector2(drawX, drawY), frame, color, angleInRadians, new Vector2(texture.Width / 2f, texture.Height / 2f), scale, effect, 0));
        }
Ejemplo n.º 6
0
        public FauxDust(PlayerDrawInfo info, Vector2 offset, string texturePath, float scale)
        {
            HighlanderPlayer modPlayer = info.drawPlayer.GetModPlayer <HighlanderPlayer>();

            drawInfo   = info;
            Player     = info.drawPlayer;
            Offset     = offset;
            texture    = mod.GetTexture(texturePath);
            this.scale = scale;
            frame      = new Rectangle(0, 0, texture.Width, texture.Height);
            float vX = Main.rand.NextFloat(-1, 1);
            float vY = Main.rand.NextFloat(-1, 1);

            velocity = new Vector2(vX, vY);
            alpha    = 0;
            timer    = 0;
            clock    = modPlayer.clock;
            active   = true;
            FindColor();
        }
Ejemplo n.º 7
0
        public static DrawData FauxDustDrawData(PlayerDrawInfo drawInfo, FauxDust d, string unusualSprite, int yOffset, float angleInRadians)
        {
            Player           drawPlayer = drawInfo.drawPlayer;
            Mod              mod        = Highlander.Instance;
            HighlanderPlayer modPlayer  = drawPlayer.GetModPlayer <HighlanderPlayer>();
            Texture2D        texture    = mod.GetTexture(unusualSprite);
            int              drawX      = (int)(drawInfo.position.X + drawPlayer.width / 2f - Main.screenPosition.X);
            int              drawY      = (int)(drawInfo.position.Y + yOffset + drawPlayer.height / 0.6f - Main.screenPosition.Y);

            if (drawPlayer.mount.Active)
            {
                MountData data = drawPlayer.mount._data;

                Vector2 pos = new Vector2();
                pos.Y += data.heightBoost;

                pos  += drawInfo.position;
                drawX = (int)(pos.X + drawPlayer.width / 2f - Main.screenPosition.X);
                drawY = (int)(pos.Y + yOffset + 70 - Main.screenPosition.Y);
            }

            int numFrames = 3;

            int   cX    = (int)(drawPlayer.position.X / 16f);
            int   cY    = (int)((drawPlayer.position.Y) / 16f);
            Color color = Lighting.GetColor(cX, cY, Color.White);

            if (modPlayer.unusualLayerTime2 > 40)
            {
                int newFrame = Main.rand.Next(0, numFrames) * texture.Height / numFrames;
                while (newFrame == modPlayer.unusualFrame2)
                {
                    newFrame = Main.rand.Next(0, numFrames) * texture.Height / numFrames;
                }
                modPlayer.unusualFrame2     = newFrame;
                modPlayer.unusualLayerTime2 = 0;
            }

            modPlayer.unusualLayerTime2++;
            return(new DrawData(d.texture, new Vector2(drawX + d.Offset.X, drawY + d.Offset.Y), d.frame, d.Color, angleInRadians, d.origin, d.scale, SpriteEffects.None, 0));
        }
Ejemplo n.º 8
0
        public override void UpdateVanity(Player player, EquipType type)
        {
            HighlanderPlayer modPlayer = player.GetModPlayer <HighlanderPlayer>();

            modPlayer.tallHat = Utilities.TallHat.SirPumpkinton;
        }
Ejemplo n.º 9
0
        public override void UpdateVanity(Player player, EquipType type)
        {
            HighlanderPlayer modPlayer = player.GetModPlayer <HighlanderPlayer>();

            modPlayer.tallHat = Utilities.TallHat.SearedSorcerer;
        }