Ejemplo n.º 1
0
        protected override void Draw(ref PlayerDrawSet drawInfo)
        {
            //if (drawInfo.drawPlayer.mount.Active) return;

            //Main.NewText(Convert.ToString(drawInfo.drawPlayer.mount.PlayerHeadOffset),Color.Yellow);
            if (drawInfo.drawPlayer.GetModPlayer <MPlayer>().fireHead)
            {
                Player drawPlayer = drawInfo.drawPlayer;
                HeadArmorTexture = ModContent.Request <Texture2D>("KirillandRandom/Items/Armor/FiresoulRobeHood_Head_Glow");
                //var position = drawInfo.headVect + drawInfo.Position + new Vector2(-10f, -10f) - Main.screenPosition+ drawPlayer.headPosition;
                var position = drawInfo.headVect + drawInfo.Position - Main.screenPosition + new Vector2(drawPlayer.width / 2 - drawPlayer.bodyFrame.Width / 2, drawPlayer.height - drawPlayer.bodyFrame.Height + 4f) + drawPlayer.headPosition;
                position = new Vector2((int)position.X, (int)position.Y);
                DrawData drdt = new DrawData(
                    HeadArmorTexture.Value,                                                                           //The texture to render.
                    position,                                                                                         //Position to render at.
                    drawInfo.drawPlayer.bodyFrame,                                                                    //Source rectangle. //for some reason headFrame doesn't work correctly? Investigate.
                    drawInfo.colorArmorHead == Color.Transparent ? Color.Transparent : new Color(100, 100, 100, 100), //Color.
                    0f,                                                                                               //Rotation.
                    drawInfo.headVect,                                                                                //exampleItemTexture.Size() * 0.5f, //Origin. Uses the texture's center.
                    1f,                                                                                               //Scale.
                    drawInfo.playerEffect,                                                                            //SpriteEffects.
                    0                                                                                                 //'Layer'. This is always 0 in Terraria.
                    );
                drdt.shader = drawInfo.cHead;
                drawInfo.DrawDataCache.Add(drdt);
            }
        }
Ejemplo n.º 2
0
        protected override void Draw(ref PlayerDrawSet drawInfo)
        {
            Player drawPlayer = drawInfo.drawPlayer;

            if (drawInfo.drawPlayer.GetModPlayer <MPlayer>().fireBody)
            {
                BodyArmorTexture = ModContent.Request <Texture2D>("KirillandRandom/Items/Armor/FiresoulRobe_Body_Glow");

                var position = drawInfo.Position + new Vector2(drawPlayer.width / 2 - drawPlayer.bodyFrame.Width / 2, drawPlayer.height - drawPlayer.bodyFrame.Height + 4f) - Main.screenPosition + drawPlayer.bodyPosition;
                position = new Vector2((int)position.X, (int)position.Y);

                DrawData drdt = new DrawData(
                    BodyArmorTexture.Value,                                                                           //The texture to render.
                    position,                                                                                         //Position to render at.
                    drawInfo.drawPlayer.bodyFrame,                                                                    //Source rectangle.
                    drawInfo.colorArmorBody == Color.Transparent ? Color.Transparent : new Color(100, 100, 100, 100), //Color.
                    0f,                                                                                               //Rotation.
                    Vector2.Zero,                                                                                     //exampleItemTexture.Size() * 0.5f, //Origin. Uses the texture's center.
                    1f,                                                                                               //Scale.
                    drawInfo.playerEffect,                                                                            //SpriteEffects.
                    0                                                                                                 //'Layer'. This is always 0 in Terraria.
                    );
                drdt.shader = drawInfo.cBody;
                drawInfo.DrawDataCache.Add(drdt);
            }
        }
Ejemplo n.º 3
0
        public void LoadUI()
        {
            if (!Main.dedServ)
            {
                // Load textures
                CheckMark = ModContent.Request <Texture2D>("FargowiltasSouls/UI/Assets/CheckMark", AssetRequestMode.ImmediateLoad);
                CheckBox  = ModContent.Request <Texture2D>("FargowiltasSouls/UI/Assets/CheckBox", AssetRequestMode.ImmediateLoad);
                SoulTogglerButtonTexture           = ModContent.Request <Texture2D>("FargowiltasSouls/UI/Assets/SoulTogglerToggle", AssetRequestMode.ImmediateLoad);
                SoulTogglerButton_MouseOverTexture = ModContent.Request <Texture2D>("FargowiltasSouls/UI/Assets/SoulTogglerToggle_MouseOver", AssetRequestMode.ImmediateLoad);
                PresetButtonOutline       = ModContent.Request <Texture2D>("FargowiltasSouls/UI/Assets/PresetOutline", AssetRequestMode.ImmediateLoad);
                PresetOffButton           = ModContent.Request <Texture2D>("FargowiltasSouls/UI/Assets/PresetOff", AssetRequestMode.ImmediateLoad);
                PresetOnButton            = ModContent.Request <Texture2D>("FargowiltasSouls/UI/Assets/PresetOn", AssetRequestMode.ImmediateLoad);
                PresetMinimalButton       = ModContent.Request <Texture2D>("FargowiltasSouls/UI/Assets/PresetMinimal", AssetRequestMode.ImmediateLoad);
                OncomingMutantTexture     = ModContent.Request <Texture2D>("FargowiltasSouls/UI/Assets/OncomingMutant", AssetRequestMode.ImmediateLoad);
                OncomingMutantAuraTexture = ModContent.Request <Texture2D>("FargowiltasSouls/UI/Assets/OncomingMutantAura", AssetRequestMode.ImmediateLoad);

                // Initialize UserInterfaces
                TogglerUserInterface       = new UserInterface();
                TogglerToggleUserInterface = new UserInterface();

                // Activate UIs
                SoulToggler = new SoulToggler();
                SoulToggler.Activate();
                SoulTogglerButton = new SoulTogglerButton();
                SoulTogglerButton.Activate();

                TogglerToggleUserInterface.SetState(SoulTogglerButton);
            }
        }
Ejemplo n.º 4
0
 public override void Load()
 {
     if (!Main.dedServ)
     {
         RelicTexture = ModContent.Request <Texture2D>(RelicTextureName);
     }
 }
Ejemplo n.º 5
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            ClickEffect.Rainbolt = ClickerSystem.RegisterClickEffect(Mod, "Rainbolt", null, null, 8, () => Color.Lerp(Color.White, Main.DiscoColor, 0.5f), delegate(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, int type, int damage, float knockBack)
            {
                bool spawnEffects = true;
                for (int k = 0; k < 4; k++)
                {
                    //Projectile.NewProjectile(source, position, new Vector2(Main.rand.NextFloat(-3f, 3f), Main.rand.NextFloat(-3f, 3f)), ModContent.ProjectileType<RainbowClickerPro>(), (int)(damage * 0.5f), knockBack, player.whoAmI, hasSpawnEffects);

                    Vector2 spawnVelocity = Main.rand.NextVector2Circular(1f, 1f) + Main.rand.NextVector2CircularEdge(3f, 3f);
                    int projType          = ProjectileID.FairyQueenMagicItemShot;      //This projectile decreases damage by 20% each hit, fixed homing speed of 30
                    float targetIndex     = spawnEffects ? -2f : -1f;                  //Normally -1f, we intercept it
                    float randomColor     = player.miscCounterNormalized % 1f;
                    Projectile.NewProjectile(source, position, spawnVelocity, projType, (int)(damage * 0.5f), knockBack, player.whoAmI, targetIndex, randomColor);
                    spawnEffects = false;
                }
            });

            if (!Main.dedServ)
            {
                glowmask = ModContent.Request <Texture2D>(Texture + "_Glow");

                HeldItemLayer.RegisterData(Item.type, new DrawLayerData()
                {
                    Texture = glowmask,
                    Color   = (PlayerDrawSet drawInfo) => new Color(255, 255, 255, 50) * 0.75f
                });
            }
        }
Ejemplo n.º 6
0
 public override void PostDraw(Color lightColor)
 {
     foreach (int target in targetsLocked)
     {
         Texture2D tex = ModContent.Request <Texture2D>("KingdomTerrahearts/Projectiles/athleticFlowShotLock_target").Value;
         Main.spriteBatch.Draw(tex, Main.npc[target].Center - new Vector2(tex.Width / 2, tex.Height / 2) - Main.screenPosition, lightColor);
     }
 }
Ejemplo n.º 7
0
        protected override void Draw(ref PlayerDrawSet drawInfo)
        {
            Player drawPlayer = drawInfo.drawPlayer;

            if (drawInfo.drawPlayer.GetModPlayer <MPlayer>().Hexed)
            {
                LegArmorTexture = ModContent.Request <Texture2D>("KirillandRandom/Items/Armor/Pig_Legs");

                var position = drawInfo.Position + new Vector2(drawPlayer.width / 2 - drawPlayer.bodyFrame.Width / 2, drawPlayer.height - drawPlayer.bodyFrame.Height + 4f) + drawPlayer.legPosition - Main.screenPosition;
                position = new Vector2((int)position.X, (int)position.Y);

                drawInfo.DrawDataCache.Add(new DrawData(
                                               LegArmorTexture.Value,                                                                    //The texture to render.
                                               position,                                                                                 //Position to render at.
                                               drawInfo.drawPlayer.legFrame,                                                             //Source rectangle.
                                               Lighting.GetColor((int)drawInfo.Center.X / 16, (int)drawInfo.Center.Y / 16, Color.White), //Color.
                                               0f,                                                                                       //Rotation.
                                               Vector2.Zero,                                                                             //exampleItemTexture.Size() * 0.5f, //Origin. Uses the texture's center.
                                               1f,                                                                                       //Scale.
                                               drawInfo.playerEffect,                                                                    //SpriteEffects.
                                               0                                                                                         //'Layer'. This is always 0 in Terraria.
                                               ));


                return;
            }

            if (drawInfo.drawPlayer.GetModPlayer <MPlayer>().fireLeggings)
            {
                LegArmorTexture = ModContent.Request <Texture2D>("KirillandRandom/Items/Armor/FiresoulRobeLeggings_Legs_Glow");

                var position = drawInfo.Position + new Vector2(drawPlayer.width / 2 - drawPlayer.bodyFrame.Width / 2, drawPlayer.height - drawPlayer.bodyFrame.Height + 4f) + drawPlayer.legPosition - Main.screenPosition;
                if (drawInfo.isSitting)
                {
                    position += new Vector2(drawInfo.drawPlayer.direction == 1 ? 6 : -6, -7);
                    if (drawPlayer.mount.Active)
                    {
                        position += new Vector2(0, 3);
                    }
                }

                position = new Vector2((int)position.X, (int)position.Y);

                DrawData drdt = new DrawData(
                    LegArmorTexture.Value,                                                                            //The texture to render.
                    position,                                                                                         //Position to render at.
                    drawInfo.drawPlayer.legFrame,                                                                     //Source rectangle.
                    drawInfo.colorArmorLegs == Color.Transparent ? Color.Transparent : new Color(100, 100, 100, 100), //Color.
                    0f,                                                                                               //Rotation.
                    Vector2.Zero,                                                                                     //exampleItemTexture.Size() * 0.5f, //Origin. Uses the texture's center.
                    1f,                                                                                               //Scale.
                    drawInfo.playerEffect,                                                                            //SpriteEffects.
                    0                                                                                                 //'Layer'. This is always 0 in Terraria.
                    );
                drdt.shader = drawInfo.cLegs;
                drawInfo.DrawDataCache.Add(drdt);
            }
        }
Ejemplo n.º 8
0
 public override void SpecialDraw(int i, int j, SpriteBatch spriteBatch)
 {
     if (heldItem != null && !displayedItem)
     {
         spriteBatch.Draw(ModContent.Request <Texture2D>(heldItem.weaponSprite).Value, weaponPos, Color.White);
         displayedItem = true;
     }
     base.SpecialDraw(i, j, spriteBatch);
 }
Ejemplo n.º 9
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            if (!Main.dedServ)
            {
                glowmask = ModContent.Request <Texture2D>(Texture + "_Glow");

                BodyGlowmaskPlayer.RegisterData(Item.bodySlot, () => new Color(255, 255, 255, 0) * 0.8f);
            }
        }
Ejemplo n.º 10
0
        public override bool PreDraw(ref Color lightColor)
        {
            Vector2 originalPos = new Vector2(Projectile.position.X - Main.screenPosition.X, Projectile.position.Y - Main.screenPosition.Y);

            for (int i = 100 - Projectile.timeLeft * 4; i < Math.Min(800 - Projectile.timeLeft * 4, 100); i++)
            {
                Color c = new Color(255f, 255f, 255f, 0f);
                Main.spriteBatch.Draw((Texture2D)ModContent.Request <Texture2D>("KingdomTerrahearts/Projectiles/BossStuff/xion_finalPhase_lightBeam"), originalPos + new Vector2(0, 10 * i), c);
            }
            return(false);
        }
Ejemplo n.º 11
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            if (!Main.dedServ)
            {
                LegsLayer.RegisterData(Item.legSlot, new DrawLayerData()
                {
                    Texture = ModContent.Request <Texture2D>(Texture + "_Legs_Glow"),
                    Color   = (PlayerDrawSet drawInfo) => new Color(Main.DiscoR, Main.DiscoG, Main.DiscoB, 75) * 0.8f
                });
            }
        }
Ejemplo n.º 12
0
        public override void SetStaticDefaults()
        {
            if (!Main.dedServ)
            {
                glowmask = ModContent.Request <Texture2D>(Texture + "_Glow");

                HeldItemLayer.RegisterData(Item.type, new DrawLayerData()
                {
                    Texture = glowmask,
                    Color   = (PlayerDrawSet drawInfo) => new Color(255, 255, 255, 50) * 0.7f
                });
            }

            CreativeItemSacrificesCatalog.Instance.SacrificeCountNeededByItemId[Type] = 1;
        }
Ejemplo n.º 13
0
 protected override void Draw(ref PlayerDrawSet drawInfo)
 {
     //this is for drawing the tail on the menu
     if (Main.gameMenu && drawInfo.drawPlayer.TryGetModPlayer <TailPlayer>(out TailPlayer tailPlayer))
     {
         if (tailPlayer.playerMenuTexture != null)
         {
             //if (drawInfo.drawPlayer.dead) return;//player is never dead on main menu
             Texture2D texture   = ModContent.Request <Texture2D>(tailPlayer.playerMenuTexture).Value;
             int       frameSize = texture.Height / 20;//what??? was left over from my orignal player layer base, breaks if removed
             DrawData  data      = new DrawData(texture, (drawInfo.Center - Main.screenPosition) + (tailPlayer.playerMenuTexOffset * 0.5f), null, Color.White, 0f, new Vector2(texture.Width, frameSize), 1f, SpriteEffects.FlipHorizontally, 0);
             drawInfo.DrawDataCache.Add(data);
         }
     }
 }
Ejemplo n.º 14
0
        protected override void Draw(ref PlayerDrawSet drawInfo)
        {
            Player drawPlayer = drawInfo.drawPlayer;

            Texture2D texture   = ModContent.Request <Texture2D>("FargowiltasSouls/PlayerDrawLayers/DizzyStars", ReLogic.Content.AssetRequestMode.ImmediateLoad).Value;
            int       num156    = texture.Height / 6;                                      //ypos of lower right corner of sprite to draw
            int       y3        = num156 * (int)(Main.GlobalTimeWrappedHourly % 0.5 * 12); //ypos of upper left corner of sprite to draw
            Rectangle rectangle = new Rectangle(0, y3, texture.Width, num156);

            Vector2 drawPos = (drawPlayer.gravDir > 0 ? drawPlayer.Top : drawPlayer.Bottom) - Main.screenPosition;

            drawPos.Y -= 16 * drawPlayer.gravDir;
            DrawData data = new DrawData(texture, drawPos, rectangle, Color.White, drawPlayer.gravDir < 0 ? MathHelper.Pi : 0f, rectangle.Size() / 2, 1f, SpriteEffects.None, 0);

            drawInfo.DrawDataCache.Add(data);
        }
Ejemplo n.º 15
0
        public override void PostDraw(Color lightColor)
        {
            if (blueInFront)
            {
                curOrbPos = Projectile.Center - Main.screenPosition + new Vector2(orbPos, 0);

                Main.spriteBatch.Draw((Texture2D)ModContent.Request<Texture2D>("KingdomTerrahearts/Projectiles/Magic/magnetOrb_blue"), curOrbPos, new Rectangle(0, 0, 20, 20), lightColor, 0f, new Vector2(10, 10), 1, SpriteEffects.None, 0f);
            }
            else
            {
                curOrbPos = Projectile.Center - Main.screenPosition + new Vector2(-orbPos, 0);

                Main.spriteBatch.Draw((Texture2D)ModContent.Request<Texture2D>("KingdomTerrahearts/Projectiles/Magic/magnetOrb_orange"), curOrbPos, new Rectangle(0, 0, 20, 20), lightColor, 0f, new Vector2(10, 10), 1, SpriteEffects.None, 0f);
            }
            base.PostDraw(lightColor);
        }
Ejemplo n.º 16
0
        public override bool PreDraw(ref Color lightColor)
        {
            Texture2D texture2D13 = TextureAssets.Projectile[Projectile.type].Value;
            Texture2D glow        = ModContent.Request <Texture2D>("FargowiltasSouls/Projectiles/Minions/DestroyerHead_glow", ReLogic.Content.AssetRequestMode.ImmediateLoad).Value;
            int       num214      = TextureAssets.Projectile[Projectile.type].Value.Height / Main.projFrames[Projectile.type];
            int       y6          = num214 * Projectile.frame;
            Color     color25     = Lighting.GetColor((int)(Projectile.Center.X / 16), (int)(Projectile.Center.Y / 16));

            Main.EntitySpriteDraw(texture2D13, Projectile.Center - Main.screenPosition + new Vector2(0f, Projectile.gfxOffY), new Rectangle(0, y6, texture2D13.Width, num214),
                                  color25, Projectile.rotation, new Vector2(texture2D13.Width / 2f, num214 / 2f), Projectile.scale,
                                  Projectile.spriteDirection == 1 ? SpriteEffects.None : SpriteEffects.FlipHorizontally, 0);
            Main.EntitySpriteDraw(glow, Projectile.Center - Main.screenPosition + new Vector2(0f, Projectile.gfxOffY), new Rectangle(0, y6, texture2D13.Width, num214),
                                  Color.White, Projectile.rotation, new Vector2(texture2D13.Width / 2f, num214 / 2f), Projectile.scale,
                                  Projectile.spriteDirection == 1 ? SpriteEffects.None : SpriteEffects.FlipHorizontally, 0);
            return(false);
        }
Ejemplo n.º 17
0
        public override void SetStaticDefaults()
        {
            if (!Main.dedServ)
            {
                glowmask = ModContent.Request <Texture2D>(Texture + "_Glow");

                WingsLayer.RegisterData(Item.wingSlot, new DrawLayerData()
                {
                    Texture = ModContent.Request <Texture2D>(Texture + "_Wings_Glow"),
                    Color   = (PlayerDrawSet drawInfo) => Color.White * 0.8f
                });
            }

            ArmorIDs.Wing.Sets.Stats[Item.wingSlot] = new WingStats(180, 3.5f, 1.15f);

            CreativeItemSacrificesCatalog.Instance.SacrificeCountNeededByItemId[Type] = 1;
        }
Ejemplo n.º 18
0
        public override bool PreDraw(ref Color lightColor)
        {
            for (int i = endFrame; i < curFrame; i++)
            {
                Vector2   segPos = initPos + new Vector2(0, i * 26);
                Rectangle rect   = new Rectangle(0, lightningFrames[curFrame] * 16, Projectile.width, Projectile.height);

                Texture2D texture  = (Texture2D)ModContent.Request <Texture2D>("KingdomTerrahearts/Projectiles/Lightning_Spell");
                Vector2   origin   = new Vector2((float)texture.Width / 2f, (float)texture.Height / 2f / 4f);
                Color     segColor = Lighting.GetColor((int)(segPos.X / 16f), (int)(segPos.Y / 16f));
                segColor = Projectile.GetAlpha(segColor);
                Lighting.AddLight(segPos / 16, new Vector3(1));

                Main.spriteBatch.Draw(texture, segPos - Main.screenPosition, rect, segColor, Projectile.rotation, origin, 1f, SpriteEffects.None, 0);
            }
            return(false);
        }