public override void ModifyTooltips(List <TooltipLine> tooltips) { tooltips.RemoveAll(x => x.Name == "Tooltip0" && x.mod == "Terraria"); VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); TooltipLine line3; TooltipLine line = new TooltipLine(mod, "Face", "Skin: Moonlord"); line.overrideColor = new Color(210, 0, 0); tooltips.Add(line); TooltipLine line4 = new TooltipLine(mod, "Face", "To upgrade, kill: " + p.KillText); line4.overrideColor = new Color(255, 0, 0); tooltips.Add(line4); if (p.NeckAdd - 1 <= 0) { line3 = new TooltipLine(mod, "Face", "PLEASE KILL FIRST BOSS TO FIX BLOOD METER"); line3.overrideColor = new Color(255, 255, 255); } else { line3 = new TooltipLine(mod, "Face", "Lifesteal Bonus: " + ((p.NeckAdd - 1) * 100) + "%"); line3.overrideColor = new Color(255, 0, 0); } tooltips.Add(line3); foreach (TooltipLine line2 in tooltips) { if (line2.mod == "Terraria" && line2.Name == "Equipable") { line2.overrideColor = new Color(160, 0, 0); } if (line2.mod == "Terraria" && line2.Name == "ItemName") { line2.text = "[c/FF0000:Va][c/EE0200:mp][c/DD0400:ir][c/CC0600:e] [c/BB0800:Ne][c/AB0A00:ck][c/9A0C00:la][c/890E00:ce]"; } if (line2.mod == "Terraria" && line2.Name == "PrefixAccMoveSpeed") { line2.text = ""; } if (line2.mod == "Terraria" && line2.Name == "PrefixAccDefense") { line2.text = ""; } if (line2.mod == "Terraria" && line2.Name == "PrefixAccCritChance") { line2.text = ""; } if (line2.mod == "Terraria" && line2.Name == "PrefixAccDamage") { line2.text = ""; } if (line2.mod == "Terraria" && line2.Name == "PrefixAccMeleeSpeed") { line2.text = ""; } if (line2.mod == "Terraria" && line2.Name == "PrefixAccMaxMana") { line2.text = ""; } } }
public override void Update(Player player, ref int buffIndex) { VampPlayer p = player.GetModPlayer <VampPlayer>(); p.HealAccMult *= 1.1f; base.Update(player, ref buffIndex); }
public override void UpdateArmorSet(Player player) { VampPlayer p = player.GetModPlayer <VampPlayer>(); p.SupportArmor = true; player.AddBuff(ModContent.BuffType <Buffs.SupportBlastBuff>(), 10); }
public override bool NewRightClick(int i, int j) { Main.mouseRightRelease = false; //Main.NewText("Click"); Point16 AltarPos = TEPosition(i, j); AltarPos = AltarPos - new Point16(1, 1); //Main.NewText("Pos: " + AltarPos); BloodAltarTE AltarTE = mod.GetTileEntity <BloodAltarTE>(AltarPos); //Main.NewText("Position: " + AltarTE.Position); if (AltarTE == null) { //Main.NewText("Null"); return(false); } Player player = Main.LocalPlayer; VampPlayer vampPlayer = player.GetModPlayer <VampPlayer>(); //if (AltarTE.RitualOwner >= byte.MaxValue) //{ AltarTE.RitualOwner = Main.LocalPlayer.whoAmI; //} if (AltarTE.CurrentPlayer == player.whoAmI) { AltarTE.CloseUI(); } else { AltarTE.CurrentPlayer = (byte)player.whoAmI; AltarTE.OpenUI(); } return(true); }
public override bool PreDraw(int i, int j, SpriteBatch spriteBatch) { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); if (p.BloodPoints >= 2000) { Offset = 360; } else if (p.BloodPoints >= 1500) { Offset = 270; } else if (p.BloodPoints >= 1000) { Offset = 180; } else if (p.BloodPoints >= 500) { Offset = 90; } else if (p.BloodPoints < 500) { Offset = 0; } CalculatedOffset = (short)(Offset); Main.tile[i, j].frameY = CalculatedOffset; return(true); }
public override void DrawEffects(int i, int j, SpriteBatch spriteBatch, ref Color drawColor, ref int nextSpecialDrawIndex) { bool fail = false; bool effectOnly = false; bool noItems = false; VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); if (WorldGen.InWorld(i - 1, j - 1) && Main.tile[i - 1, j - 1].active() && Main.tile[i - 1, j - 1].type != ModContent.TileType <BloodAltar>() && Main.tile[i - 1, j - 1].type != ModContent.TileType <PrimitiveAutoMiner>() && Main.tile[i - 1, j - 1].type != ModContent.TileType <BloodMiner>()) { WorldGen.KillTile(i - 1, j - 1, fail, effectOnly, noItems); if (Main.netMode != NetmodeID.SinglePlayer) { NetMessage.SendData(MessageID.TileChange, -1, -1, null, 0, (float)i - 1, (float)j - 1, 0f, 0, 0, 0); } } if (WorldGen.InWorld(i + 1, j - 1) && Main.tile[i + 1, j - 1].active() && Main.tile[i + 1, j - 1].type != ModContent.TileType <BloodAltar>() && Main.tile[i + 1, j - 1].type != ModContent.TileType <PrimitiveAutoMiner>() && Main.tile[i + 1, j - 1].type != ModContent.TileType <BloodMiner>()) { WorldGen.KillTile(i + 1, j - 1, fail, effectOnly, noItems); if (Main.netMode != NetmodeID.SinglePlayer) { NetMessage.SendData(MessageID.TileChange, -1, -1, null, 0, (float)i + 1, (float)j - 1, 0f, 0, 0, 0); } } if (WorldGen.InWorld(i, j - 2) && Main.tile[i, j - 2].active() && Main.tile[i, j - 2].type != ModContent.TileType <BloodAltar>() && Main.tile[i, j - 2].type != ModContent.TileType <PrimitiveAutoMiner>() && Main.tile[i, j - 2].type != ModContent.TileType <BloodMiner>()) { WorldGen.KillTile(i, j - 2, fail, effectOnly, noItems); if (Main.netMode != NetmodeID.SinglePlayer) { NetMessage.SendData(MessageID.TileChange, -1, -1, null, 0, (float)i, (float)j - 2, 0f, 0, 0, 0); } } }
private void ClaimButtonClicked(UIMouseEvent evt, UIElement listeningElement) { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); AltarTE.RitualOwner = Main.LocalPlayer.whoAmI; AltarTE.SyncOwnerSend(); }
public override void UpdateArmorSet(Player player) { VampPlayer p = player.GetModPlayer <VampPlayer>(); p.PsionicArmorSet = true; p.PsionicPower = true; }
private void SoulsRitualButtonClicked(UIMouseEvent evt, UIElement listeningElement) { VampPlayer AltarTEPlayer = Main.player[AltarTE.RitualOwner].GetModPlayer <VampPlayer>(); //if(!_vanillaItemSlot.Item.IsAir) //{ // AltarTE.BloodCrystal = _vanillaItemSlot.Item; //} if (AltarTE.RitualOfTheStone) { Main.NewText("Please turn off the ritual of the earth"); } else if (AltarTE.RitualOfTheMiner) { Main.NewText("Please turn off the ritual of the Miner"); } else if (AltarTE.RitualOfMidas) { Main.NewText("Please turn off the ritual of Midas"); } else if (AltarTEPlayer.BloodPoints <= 1) { Main.NewText("You have too few blood points!"); } else if (!AltarTE.RitualOfSouls && AltarTE.RoSoType != -69) { AltarTE.RitualOfSouls = true; AltarTE.SendSoulsRitualInfo(); SoulsText = "Active"; //if (!AltarTE.BloodCrystal.IsAir) //{ // if (_vanillaItemSlot.Item.modItem is BloodCrystalSoul soul) // { // if (soul.NPCID != -69) // { // AltarTE.RoSoType = soul.NPCID; // NPCNameSave = soul.NPCName; // } // else // { // Main.NewText("Please insert a filled blood crystal"); // return; // } // } // SoulsNPC.SetText(NPCNameSave); // _vanillaItemSlot.Item = new Item(); //} //else //{ // Main.NewText("Please insert a filled blood crystal"); //} } else { AltarTE.RitualOfSouls = false; AltarTE.SendSoulsRitualInfo(); } }
public override void OnCraft(Recipe recipe) { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); crafted = true; p.NumCrafted += 1; NumberCrafted = p.NumCrafted; }
public override void ModifyTooltips(List <TooltipLine> tooltips) { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); TooltipLine line = new TooltipLine(mod, "Face", "+" + (p.SupportArmorLifeSteal) + " Support Knives Life Steal"); line.overrideColor = new Color(50, 158, 194); if (NPC.downedBoss2) { tooltips.Add(line); } if (p.SupportArmor) { TooltipLine line4 = new TooltipLine(mod, "Face", "Set Bonus:"); line4.overrideColor = new Color(50, 182, 194); tooltips.Add(line4); TooltipLine line3 = new TooltipLine(mod, "Face", "By pressing the support buff key you use \nStored charges (indicated by visor intensity)\nto buff the players around you"); line3.overrideColor = new Color(50, 182, 194); tooltips.Add(line3); } foreach (TooltipLine line5 in tooltips) { if (line5.mod == "Terraria" && line5.Name == "Equipable") { line5.overrideColor = new Color(50, 158, 194); } if (line5.mod == "Terraria" && line5.Name == "Defense") { line5.overrideColor = new Color(50, 158, 194); } if (line5.mod == "Terraria" && line5.Name == "Tooltip0") { line5.overrideColor = new Color(50, 158, 194); } if (line5.mod == "Terraria" && line5.Name == "ItemName") { if (Frame == 0) { line5.text = ("[c/287399:Spectral Hood]"); } if (Frame == 1) { line5.text = ("[c/2E91B3:Spectral Hood]"); } if (Frame == 2) { line5.text = ("[c/39B3DB:Spectral Hood]"); } if (Frame == 3) { line5.text = ("[c/BCE3E3:Spectral Hood]"); } } } }
public override void ModifyTooltips(List <TooltipLine> tooltips) { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); TooltipLine line = new TooltipLine(mod, "Face", "+" + ((p.DefenseReflectChance - 1)) * 100 + "% reflect chance"); line.overrideColor = new Color(160, 0, 0); if (NPC.downedBoss2) { tooltips.Add(line); } if (p.VampiricArmorSet) { TooltipLine line4 = new TooltipLine(mod, "Face", "Set Bonus:"); line4.overrideColor = new Color(180, 0, 0); tooltips.Add(line4); TooltipLine line3 = new TooltipLine(mod, "Face", "Enemies are more likely to target you\nHave a " + ((2f * p.VampiricSetScaler) / 10f) + "% Chance to steal the life of the enemies around you upon being hit"); line3.overrideColor = new Color(180, 0, 0); tooltips.Add(line3); } foreach (TooltipLine line5 in tooltips) { if (line5.mod == "Terraria" && line5.Name == "Equipable") { line5.overrideColor = new Color(160, 0, 0); } if (line5.mod == "Terraria" && line5.Name == "Defense") { line5.overrideColor = new Color(160, 0, 0); } if (line5.mod == "Terraria" && line5.Name == "Tooltip0") { line5.overrideColor = new Color(160, 0, 0); } if (line5.mod == "Terraria" && line5.Name == "ItemName") { if (Frame == 0) { line5.text = ("[c/3B0000:Vampiric Helm]"); } if (Frame == 1) { line5.text = ("[c/730600:Vampiric Helm]"); } if (Frame == 2) { line5.text = ("[c/AD0900:Vampiric Helm]"); } if (Frame == 3) { line5.text = ("[c/730600:Vampiric Helm]"); } } } }
public void MidasRitual(int i, int j, Player player, short itemid) { VampPlayer p = player.GetModPlayer <VampPlayer>(); if (itemid == ItemID.CopperCoin) { PointCost = 1; } else if (itemid == ItemID.SilverCoin) { PointCost = 10; } else if (itemid == ItemID.GoldCoin) { PointCost = 100; } else if (itemid == ItemID.PlatinumCoin) { PointCost = 999; } DustTimer++; if (DustTimer >= 5) { if (itemid == ItemID.CopperCoin) { DustType = 9; PointCost = 1; } else if (itemid == ItemID.SilverCoin) { DustType = 11; PointCost = 10; } else if (itemid == ItemID.GoldCoin) { DustType = 10; PointCost = 100; } else if (itemid == ItemID.PlatinumCoin) { DustType = 11; PointCost = 999; } if (Main.netMode != NetmodeID.MultiplayerClient) { VampPlayer.OvalDust(new Vector2(16 * (i + 1) + 4.5f, 16 * (j - 1) + 4), 1, 2f, Color.White, DustType, 1f); } DustTimer = 0; } if (Main.netMode == NetmodeID.SinglePlayer) { p.BloodPoints -= PointCost; } Item.NewItem(new Vector2(16 * (i + 1) + 4.5f, 16 * (j - 1) + 4), 1, 1, itemid); }
protected override void DrawSelf(SpriteBatch spriteBatch) { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); float percentage = (p.VampCurrent / p.VampMax); //Main.NewText("Percentage: "+percentage + " VampCurrent: " + p.VampCurrent + " VampMax: " + p.VampMax); var innerDimensionsRectangle = GetDimensions().ToRectangle(); Vector2 drawPosition = innerDimensionsRectangle.BottomLeft() - new Vector2(0, innerDimensionsRectangle.Height * percentage); Rectangle sourceRectangle = new Rectangle(0, 0, innerDimensionsRectangle.Width, (int)(innerDimensionsRectangle.Height * percentage)); Main.spriteBatch.Draw(ModContent.GetTexture("VampKnives/UI/VampBarFiller"), drawPosition, sourceRectangle, Color.White); }
public override void ModifyTooltips(List <TooltipLine> tooltips) { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); TooltipLine line = new TooltipLine(mod, "Face", "Requires a Knife Cast"); line.overrideColor = new Color(86, 86, 86); if (crafted == false) { tooltips.Add(line); } }
public override void UpdateAccessory(Player player, bool hideVisual) { VampPlayer p = player.GetModPlayer <VampPlayer>(); p.InvokerAccessory = true; p.Invoker = true; if (hideVisual) { p.InvokerHideVanity = true; } }
public override void ModifyTooltips(List <TooltipLine> tooltips) { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); TooltipLine line = new TooltipLine(mod, "Face", "Can be crafted cheaper with a chisel"); line.overrideColor = new Color(86, 86, 86); if (crafted == false) { tooltips.Add(line); } }
public override void UpdateArmorSet(Player player) { VampPlayer p = player.GetModPlayer <VampPlayer>(); p.VampiricArmorSet = true; if (NPC.downedBoss2) { p.VampiricSetScaler = 1.5f; } if (NPC.downedBoss3) { p.VampiricSetScaler = 2f; } if (Main.hardMode) { p.VampiricSetScaler = 2.5f; } if (NPC.downedMechBoss1) { p.VampiricSetScaler = 3f; } if (NPC.downedMechBoss2) { p.VampiricSetScaler = 3.5f; } if (NPC.downedMechBoss3) { p.VampiricSetScaler = 4f; } if (NPC.downedPlantBoss) { p.VampiricSetScaler = 4.5f; } if (NPC.downedGolemBoss) { p.VampiricSetScaler = 5f; } if (NPC.downedFishron) { p.VampiricSetScaler = 5.5f; } if (NPC.downedAncientCultist) { p.VampiricSetScaler = 6f; } if (NPC.downedTowers) { p.VampiricSetScaler = 7f; } if (NPC.downedMoonlord) { p.VampiricSetScaler = 10f; } }
public override void PlaceInWorld(int i, int j, Item item) { if (Main.netMode == NetmodeID.MultiplayerClient) { AltarTE.RitualOwner = Main.LocalPlayer.whoAmI; //AltarTE.SyncOwnerSend(); VampPlayer p = Main.player[item.owner].GetModPlayer <VampPlayer>(); p.SendPackage = true; } }
public override void ModifyTooltips(List <TooltipLine> tooltips) { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); TooltipLine line = new TooltipLine(mod, "Face", "Can be turned into shards with a Hammer"); line.overrideColor = new Color(86, 86, 86); if (crafted == false) { tooltips.Add(line); } }
public override void Update(Player player, ref int buffIndex) { VampPlayer p = player.GetModPlayer <VampPlayer>(); if (p.IsTrueSupport == true) { p.TrueSupportBuff = 1.2f; } else { player.DelBuff(buffIndex); buffIndex--; } }
public override void ModifyTooltips(List <TooltipLine> tooltips) { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); TooltipLine line3 = new TooltipLine(mod, "Face", "Used to craft Defense Knives"); line3.overrideColor = new Color(86, 86, 86); tooltips.Add(line3); TooltipLine line = new TooltipLine(mod, "Face", "Requires a Hammer to craft"); line.overrideColor = new Color(86, 86, 86); if (crafted == false) { tooltips.Add(line); } }
public override void Update(Player player, ref int buffIndex) { VampPlayer p = player.GetModPlayer <VampPlayer>(); // We use blockyAccessoryPrevious here instead of blockyAccessory because UpdateBuffs happens before UpdateEquips but after ResetEffects. if (p.HoodIsVisible == true && p.ShamanAccessoryPrevious) { p.ShamanPower = true; } else { player.DelBuff(buffIndex); buffIndex--; } }
public override void Update(GameTime gameTime) { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); if (p.BloodPoints <= 9999) { BloodPointsNum.SetText("" + p.BloodPoints); } else if (p.BloodPoints > 9999) { BloodPointsNum.SetText("" + Math.Truncate((double)(p.BloodPoints / 1000)) + "K"); } else if (p.BloodPoints > 999999) { BloodPointsNum.SetText("" + Math.Truncate((double)(p.BloodPoints / 1000000)) + "M"); } base.Update(gameTime); }
public override void Update(GameTime gameTime) { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); switch (stat) { case ResourceBarMode.BP: if (calc * p.VampMax >= 0) { text.SetText("" + (int)(calc * p.VampMax)); } break; default: break; } base.Update(gameTime); }
public override bool CanUseItem(Player player) { if (player.statLife > 1) { RegenedHealth = true; } if (player.statLife <= 1 && RegenedHealth) { VampPlayer.OvalDust(player.position, 5f, 5f, Color.Red, 67, 1.2f); RegenedHealth = false; return(false); } else if (player.ownedProjectileCounts[ModContent.ProjectileType <Projectiles.VampiricPrismHeldProj>()] <= 0 && RegenedHealth) { ; } return(true); }
public override bool SafePreKill(int timeLeft) { if (projectile.frame == 0 || projectile.frame == 1 || projectile.frame == 2) { for (int x = 0; x < 4; x++) { VampPlayer.OvalDust(projectile.Center, projectile.width / 8, projectile.height / 8, Color.Pink, 141, 1.3f, true); } } if (projectile.frame == 3 || projectile.frame == 4 || projectile.frame == 5) { for (int x = 0; x < 4; x++) { VampPlayer.OvalDust(projectile.Center, projectile.width / 8, projectile.height / 8, Color.MediumPurple, 141, 1.3f, true); } } return(base.SafePreKill(timeLeft)); }
public override void SetChatButtons(ref string button, ref string button2) { timer++; if (timer == 300) { SkinShopClicked = false; } VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); if (p.Given == false) { button = "Sure?"; button2 = "N-n-no thanks"; } if (p.Given == true) { button = Language.GetTextValue("LegacyInterface.28"); button2 = ("Open Skin Shop"); } }
public override void Update(Player player, ref int buffIndex) { VampPlayer p = player.GetModPlayer <VampPlayer>(); // We use blockyAccessoryPrevious here instead of blockyAccessory because UpdateBuffs happens before UpdateEquips but after ResetEffects. if (p.HoodIsVisible == true && p.WitchDoctorAccessoryPrevious) { p.WitchDoctorPower = true; player.GetModPlayer <VampPlayer>().ShrunkenHead = true; bool petProjectileNotSpawned = player.ownedProjectileCounts[mod.ProjectileType("ShrunkenHead")] <= 0; if (petProjectileNotSpawned && player.whoAmI == Main.myPlayer) { Projectile.NewProjectile(player.position.X - (float)(player.width / 2), player.position.Y - (float)(player.height / 2), 0.5f, 0.4f, mod.ProjectileType("ShrunkenHead"), 0, 0f, player.whoAmI, 0f, 0f); } } else { player.DelBuff(buffIndex); buffIndex--; } }
public override string GetChat() { VampPlayer p = Main.LocalPlayer.GetModPlayer <VampPlayer>(); if (p.Given == false) { return("Young one, interested in an old vampire relic?"); } if (p.Given == true && SkinShopClicked == false) { return("Sometimes I get the urge to drink from everyone here"); } if (SkinShopClicked == true) { return("Sometimes I get the urge to drink from everyone here"); } else { return("who pie is?"); } }