public override bool PreAI() { if (ModContent.GetModItem(Main.LocalPlayer.HeldItem.type) is Items.KnifeDamageItem) { ParentWeapon = Main.LocalPlayer.HeldItem.GetGlobalItem <KnifeWeapon>(); } return(true); }
private void SpecialButton2Clicked(UIMouseEvent evt, UIElement listeningElement) { int BuyItem = ModContent.ItemType <Items.Materials.PiercingTip>(); if (!_vanillaItemSlot.Item.IsAir) { if (_vanillaItemSlot.Item.type == ModContent.ItemType <CorruptionNestKnives>() || _vanillaItemSlot.Item.type == ModContent.ItemType <CrimsonNestKnives>() || _vanillaItemSlot.Item.type == ModContent.ItemType <ButchersKnives>() || _vanillaItemSlot.Item.type == ModContent.ItemType <PrismaticArcanum>() || _vanillaItemSlot.Item.type == ModContent.ItemType <SorcerersSarukh>() || _vanillaItemSlot.Item.type == ModContent.ItemType <VampiricPrism>() || _vanillaItemSlot.Item.type == ModContent.ItemType <TrueDemonsScourge>() || _vanillaItemSlot.Item.type == ModContent.ItemType <ZenithsTrueBlades>() || _vanillaItemSlot.Item.type == ModContent.ItemType <Nyives>()) { Main.NewText("You cannot add penetration to this weapon"); } else { KnifeWeapon UpgradeItem = _vanillaItemSlot.Item.GetGlobalItem <KnifeWeapon>(); PenetrateBuyPrice = UpgradeItem.PenetrationPurchases; for (int i = 0; i < 59; i++) { Item item = Main.LocalPlayer.inventory[i]; if (!item.IsAir && item.type == BuyItem && item.stack >= PenetrateBuyPrice) { if (UpgradeItem.PenetrationBonus < 10) { UpgradeItem.PenetrationBonus += 1; UpgradeItem.OriginalOwner = Main.LocalPlayer.name; Item SavedItem = new Item(); int SavedItemStack; SavedItem = item.Clone(); SavedItemStack = item.stack; item.TurnToAir(); for (int StackNum = 0; StackNum < SavedItemStack - (PenetrateBuyPrice); StackNum++) { Main.LocalPlayer.PutItemInInventory(SavedItem.type); } UpgradeItem.PenetrationPurchases++; break; } else { Main.NewText("You've maxed out this skill!"); break; } } else if (item.type != BuyItem && i == 58 && PenetrateBuyPrice != 11) { Main.NewText("You don't have enough Piercing Tips, you need: " + (PenetrateBuyPrice)); } else if (item.type != BuyItem && i == 58 && PenetrateBuyPrice == 11) { Main.NewText("You've maxed out this skill!"); } } } } else { Main.NewText("You need to place an weapon in the item slot!"); } }
private void SpecialButton3Clicked(UIMouseEvent evt, UIElement listeningElement) { int BuyItem = ModContent.ItemType <Items.Materials.StableCrimsonCrystal>(); if (!_vanillaItemSlot.Item.IsAir) { KnifeWeapon UpgradeItem = _vanillaItemSlot.Item.GetGlobalItem <KnifeWeapon>(); LifeStealBuyPrice = UpgradeItem.LifeStealPurchases; for (int i = 0; i < 59; i++) { Item item = Main.LocalPlayer.inventory[i]; if (!item.IsAir && item.type == BuyItem && item.stack >= LifeStealBuyPrice) { if (UpgradeItem.LifeStealBonus < 25) { UpgradeItem.LifeStealBonus += 1; UpgradeItem.OriginalOwner = Main.LocalPlayer.name; Item SavedItem = new Item(); int SavedItemStack; SavedItem = item.Clone(); SavedItemStack = item.stack; item.TurnToAir(); for (int StackNum = 0; StackNum < SavedItemStack - (LifeStealBuyPrice); StackNum++) { Main.LocalPlayer.PutItemInInventory(SavedItem.type); } UpgradeItem.LifeStealPurchases++; break; } else { Main.NewText("You've maxed out this skill!"); break; } } else if (item.type != BuyItem && i == 58 && LifeStealBuyPrice != 26) { Main.NewText("You don't have enough Stable Crimson Crystals, you need: " + (LifeStealBuyPrice)); } else if (item.type != BuyItem && i == 58 && LifeStealBuyPrice == 26) { Main.NewText("You've maxed out this skill!"); } } } else { Main.NewText("You need to place an weapon in the item slot!"); } }
private void UnforgivingButtonClicked(UIMouseEvent evt, UIElement listeningElement) { int BuyItem = ModContent.ItemType <Items.Materials.RicochetEssence>(); if (!_vanillaItemSlot.Item.IsAir) { KnifeWeapon UpgradeItem = _vanillaItemSlot.Item.GetGlobalItem <KnifeWeapon>(); RicochetBuyPrice = UpgradeItem.RicochetPurchases; for (int i = 0; i < 59; i++) { Item item = Main.LocalPlayer.inventory[i]; if (!item.IsAir && item.type == BuyItem && item.stack >= RicochetBuyPrice) { if (UpgradeItem.RicochetChance < 1.00f) { UpgradeItem.RicochetChance += 0.01f; UpgradeItem.OriginalOwner = Main.LocalPlayer.name; Item SavedItem = new Item(); int SavedItemStack; SavedItem = item.Clone(); SavedItemStack = item.stack; item.TurnToAir(); for (int StackNum = 0; StackNum < SavedItemStack - (RicochetBuyPrice); StackNum++) { Main.LocalPlayer.PutItemInInventory(SavedItem.type); } UpgradeItem.RicochetPurchases++; break; } else { Main.NewText("You've maxed out this skill!"); break; } } else if (item.type != BuyItem && i == 58 && RicochetBuyPrice != 102) { Main.NewText("You don't have enough Ricochet Essence, you need: " + (RicochetBuyPrice)); } else if (item.type != BuyItem && i == 58 && RicochetBuyPrice == 102) { Main.NewText("You've maxed out this skill!"); } } } else { Main.NewText("You need to place an weapon in the item slot!"); } }
private void NormalButtonClicked(UIMouseEvent evt, UIElement listeningElement) { int BuyItem = ModContent.ItemType <Items.Accessories.CritEmblem>(); if (!_vanillaItemSlot.Item.IsAir) { KnifeWeapon UpgradeItem = _vanillaItemSlot.Item.GetGlobalItem <KnifeWeapon>(); CritBuyPrice = UpgradeItem.CritPurchases; for (int i = 0; i < 59; i++) { Item item = Main.LocalPlayer.inventory[i]; if (!item.IsAir && item.type == BuyItem && item.stack >= DamageBuyPrice) { if (UpgradeItem.CritLevel < 10) { UpgradeItem.CritLevel += 1; UpgradeItem.OriginalOwner = Main.LocalPlayer.name; Item SavedItem = new Item(); int SavedItemStack; SavedItem = item.Clone(); SavedItemStack = item.stack; item.TurnToAir(); for (int StackNum = 0; StackNum < SavedItemStack - (CritBuyPrice); StackNum++) { Main.LocalPlayer.PutItemInInventory(SavedItem.type); } UpgradeItem.CritPurchases++; break; } else { Main.NewText("You've maxed out this skill!"); break; } } else if (item.type != BuyItem && i == 58 && CritBuyPrice != 11) { Main.NewText("You don't have enough Crit Emblems, you need: " + (CritBuyPrice)); } else if (item.type != BuyItem && i == 58 && CritBuyPrice == 11) { Main.NewText("You've maxed out this skill!"); } } } else { Main.NewText("You need to place an weapon in the item slot!"); } }
public Weapon CreateWeapon(WeaponRarities weaponRarity, WeaponTypes weaponType, string weaponName) { Weapon weapon = null; switch (weaponType) { case WeaponTypes.Axe: weapon = new AxeWeapon(weaponRarity, weaponType, weaponName); break; case WeaponTypes.Knife: weapon = new KnifeWeapon(weaponRarity, weaponType, weaponName); break; case WeaponTypes.Sword: weapon = new SwordWeapon(weaponRarity, weaponType, weaponName); break; } return(weapon); }
protected override void DrawSelf(SpriteBatch spriteBatch) { base.DrawSelf(spriteBatch); Main.HidePlayerCraftingMenu = false; if (!_vanillaItemSlot.Item.IsAir) { KnifeWeapon UpgradeItem = _vanillaItemSlot.Item.GetGlobalItem <KnifeWeapon>(); Main.LocalPlayer.GetModPlayer <VampPlayer>().UpgradeItem = _vanillaItemSlot.Item; Lifesteal = UpgradeItem.LifeStealBonus; Penetrate = UpgradeItem.PenetrationBonus; Ricochet = UpgradeItem.RicochetChance; SpecialUpgradeText1.SetText("+1% chance to shoot\na knife that ricochets\n Current chance: " + Math.Truncate((Ricochet * 100)) + "%"); SpecialUpgradeText2.SetText("+1 to number of enemies\n the knife penetrates\n Current number: " + Penetrate); SpecialUpgradeText3.SetText("+1 increase to knife\n lifesteal\n Current increase: " + Lifesteal); DamageBuyPrice = UpgradeItem.DamagePurchases; CritBuyPrice = UpgradeItem.CritPurchases; RicochetBuyPrice = UpgradeItem.RicochetPurchases; PenetrateBuyPrice = UpgradeItem.PenetrationPurchases; LifeStealBuyPrice = UpgradeItem.LifeStealPurchases; DamagePrice.SetText("x" + (DamageBuyPrice)); CritPrice.SetText("x" + (CritBuyPrice)); RicochetPrice.SetText("x" + (RicochetBuyPrice)); PenetratePrice.SetText("x" + (PenetrateBuyPrice)); LifeStealPrice.SetText("x" + (LifeStealBuyPrice)); if (DamageBuyPrice == 11) { DamagePrice.SetText("Maxed"); } if (CritBuyPrice == 11) { CritPrice.SetText("Maxed"); } if (RicochetBuyPrice == 102) { RicochetPrice.SetText("Maxed"); } if (PenetrateBuyPrice == 11) { PenetratePrice.SetText("Maxed"); } if (LifeStealBuyPrice == 26) { LifeStealPrice.SetText("Maxed"); } if (Ricochet != 0) { SpecialUpgradeText1.TextColor = Color.White; } if (Penetrate != 0) { SpecialUpgradeText2.TextColor = Color.White; } if (Lifesteal != 0) { SpecialUpgradeText3.TextColor = Color.White; } if (UpgradeItem.DamageLevel >= 1) { SharpnessUpgradeText1.TextColor = Color.White; } if (UpgradeItem.DamageLevel >= 2) { SharpnessUpgradeText2.TextColor = Color.White; } if (UpgradeItem.DamageLevel >= 3) { SharpnessUpgradeText3.TextColor = Color.White; } if (UpgradeItem.DamageLevel >= 4) { SharpnessUpgradeText4.TextColor = Color.White; } if (UpgradeItem.DamageLevel >= 5) { SharpnessUpgradeText5.TextColor = Color.White; } if (UpgradeItem.DamageLevel >= 6) { SharpnessUpgradeText6.TextColor = Color.White; } if (UpgradeItem.DamageLevel >= 7) { SharpnessUpgradeText7.TextColor = Color.White; } if (UpgradeItem.DamageLevel >= 8) { SharpnessUpgradeText8.TextColor = Color.White; } if (UpgradeItem.DamageLevel >= 9) { SharpnessUpgradeText9.TextColor = Color.White; } if (UpgradeItem.DamageLevel >= 10) { SharpnessUpgradeText10.TextColor = Color.White; } if (UpgradeItem.CritLevel >= 1) { CritUpgradeText1.TextColor = Color.White; } if (UpgradeItem.CritLevel >= 2) { CritUpgradeText2.TextColor = Color.White; } if (UpgradeItem.CritLevel >= 3) { CritUpgradeText3.TextColor = Color.White; } if (UpgradeItem.CritLevel >= 4) { CritUpgradeText4.TextColor = Color.White; } if (UpgradeItem.CritLevel >= 5) { CritUpgradeText5.TextColor = Color.White; } if (UpgradeItem.CritLevel >= 6) { CritUpgradeText6.TextColor = Color.White; } if (UpgradeItem.CritLevel >= 7) { CritUpgradeText7.TextColor = Color.White; } if (UpgradeItem.CritLevel >= 8) { CritUpgradeText8.TextColor = Color.White; } if (UpgradeItem.CritLevel >= 9) { CritUpgradeText9.TextColor = Color.White; } if (UpgradeItem.CritLevel >= 10) { CritUpgradeText10.TextColor = Color.White; } if (VampKnives.SpecialUpgradeCounter >= 1) { SpecialUpgradeText1.TextColor = Color.White; } if (VampKnives.SpecialUpgradeCounter >= 2) { SpecialUpgradeText2.TextColor = Color.White; } if (VampKnives.SpecialUpgradeCounter >= 3) { SpecialUpgradeText3.TextColor = Color.White; } } else { SharpnessUpgradeText1.TextColor = Color.Gray; SharpnessUpgradeText2.TextColor = Color.Gray; SharpnessUpgradeText3.TextColor = Color.Gray; SharpnessUpgradeText4.TextColor = Color.Gray; SharpnessUpgradeText5.TextColor = Color.Gray; SharpnessUpgradeText6.TextColor = Color.Gray; SharpnessUpgradeText7.TextColor = Color.Gray; SharpnessUpgradeText8.TextColor = Color.Gray; SharpnessUpgradeText9.TextColor = Color.Gray; SharpnessUpgradeText10.TextColor = Color.Gray; CritUpgradeText1.TextColor = Color.Gray; CritUpgradeText2.TextColor = Color.Gray; CritUpgradeText3.TextColor = Color.Gray; CritUpgradeText4.TextColor = Color.Gray; CritUpgradeText5.TextColor = Color.Gray; CritUpgradeText6.TextColor = Color.Gray; CritUpgradeText7.TextColor = Color.Gray; CritUpgradeText8.TextColor = Color.Gray; CritUpgradeText9.TextColor = Color.Gray; CritUpgradeText10.TextColor = Color.Gray; SpecialUpgradeText1.TextColor = Color.Gray; SpecialUpgradeText2.TextColor = Color.Gray; SpecialUpgradeText3.TextColor = Color.Gray; DamagePrice.SetText("x1"); CritPrice.SetText("x1"); RicochetPrice.SetText("x1"); PenetratePrice.SetText("x1"); LifeStealPrice.SetText("x1"); } }