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)); }
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)); }
public override void HoldItem(Player player) { HighlanderPlayer modPlayer = player.GetModPlayer <HighlanderPlayer>(); modPlayer.holdingAmmoGun = true; modPlayer.maxAmmo = MaxAmmo; modPlayer.currentAmmo = ammo; base.HoldItem(player); }
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)); }
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)); }
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(); }
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)); }
public override void UpdateVanity(Player player, EquipType type) { HighlanderPlayer modPlayer = player.GetModPlayer <HighlanderPlayer>(); modPlayer.tallHat = Utilities.TallHat.SirPumpkinton; }
public override void UpdateVanity(Player player, EquipType type) { HighlanderPlayer modPlayer = player.GetModPlayer <HighlanderPlayer>(); modPlayer.tallHat = Utilities.TallHat.SearedSorcerer; }