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); } }
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); } }
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); } }
public override void Load() { if (!Main.dedServ) { RelicTexture = ModContent.Request <Texture2D>(RelicTextureName); } }
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 }); } }
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); } }
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); } }
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); }
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); } }
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); }
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 }); } }
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; }
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); } } }
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); }
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); }
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); }
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; }
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); }