Fixed crashes for ranged weapons.
Optimized code.
This commit is contained in:
@@ -18,6 +18,7 @@ public class LunarBow : ModItem
|
||||
public override void SetDefaults()
|
||||
{
|
||||
Item.damage = 240;
|
||||
Item.DamageType = DamageClass.Ranged;
|
||||
Item.width = 27;
|
||||
Item.height = 69;
|
||||
Item.useTime = 9;
|
||||
@@ -33,8 +34,8 @@ public class LunarBow : ModItem
|
||||
Item.shoot = ModContent.ProjectileType<LunarBolt>();
|
||||
}
|
||||
|
||||
public override bool Shoot(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, Vector2 velocity, int type, int damage, float knockback)
|
||||
{
|
||||
public override bool Shoot(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, Vector2 velocity, int type, int damage, float knockback)
|
||||
{
|
||||
if (player.altFunctionUse == 2)
|
||||
{
|
||||
if (!player.HasBuff(ModContent.BuffType<Buffs.LunarBow.ShatteredMoonsCurse>()) && player.statLife < player.statLifeMax2)
|
||||
@@ -62,11 +63,11 @@ public class LunarBow : ModItem
|
||||
|
||||
public override void AddRecipes()
|
||||
{
|
||||
Recipe val = CreateRecipe();
|
||||
val.AddIngredient(ItemID.LifeFruit, 5);
|
||||
val.AddIngredient(ItemID.LifeCrystal, 5);
|
||||
val.AddIngredient(ItemID.FragmentVortex, 14);
|
||||
val.AddTile(TileID.LunarCraftingStation);
|
||||
val.Register();
|
||||
CreateRecipe()
|
||||
.AddIngredient(ItemID.LifeFruit, 5)
|
||||
.AddIngredient(ItemID.LifeCrystal, 5)
|
||||
.AddIngredient(ItemID.FragmentVortex, 14)
|
||||
.AddTile(TileID.LunarCraftingStation)
|
||||
.Register();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ public class LunarRainBow : ModItem
|
||||
public override void SetDefaults()
|
||||
{
|
||||
Item.damage = 320;
|
||||
Item.DamageType = DamageClass.Ranged;
|
||||
Item.width = 27;
|
||||
Item.height = 69;
|
||||
Item.useTime = 7;
|
||||
@@ -33,8 +34,8 @@ public class LunarRainBow : ModItem
|
||||
Item.shoot = ModContent.ProjectileType<SpectralMoonBolt>();
|
||||
}
|
||||
|
||||
public override bool Shoot(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, Vector2 velocity, int type, int damage, float knockback)
|
||||
{
|
||||
public override bool Shoot(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, Vector2 velocity, int type, int damage, float knockback)
|
||||
{
|
||||
if (player.altFunctionUse == 2)
|
||||
{
|
||||
if (!player.HasBuff(ModContent.BuffType<Buffs.LunarBow.SpectralMoonsCurse>()) && player.statLife < player.statLifeMax2)
|
||||
@@ -62,10 +63,10 @@ public class LunarRainBow : ModItem
|
||||
|
||||
public override void AddRecipes()
|
||||
{
|
||||
Recipe val = CreateRecipe();
|
||||
val.AddIngredient(ModContent.ItemType<LunarBow>());
|
||||
val.AddIngredient(ModContent.ItemType<Bars.RainbowChunk>(), 14);
|
||||
val.AddTile(ModContent.TileType<global::FabusMod.Tiles.RainbowStation>());
|
||||
val.Register();
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<LunarBow>())
|
||||
.AddIngredient(ModContent.ItemType<Bars.RainbowChunk>(), 14)
|
||||
.AddTile(ModContent.TileType<global::FabusMod.Tiles.RainbowStation>())
|
||||
.Register();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ public class PiercingBow : ModItem
|
||||
public override void SetDefaults()
|
||||
{
|
||||
Item.damage = 10;
|
||||
Item.DamageType = DamageClass.Ranged;
|
||||
Item.width = 18;
|
||||
Item.height = 32;
|
||||
Item.useTime = 27;
|
||||
@@ -34,7 +35,7 @@ public class PiercingBow : ModItem
|
||||
Item.useAmmo = AmmoID.Arrow;
|
||||
}
|
||||
|
||||
public override bool Shoot(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, Vector2 velocity, int type, int damage, float knockback)
|
||||
public override bool Shoot(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, Vector2 velocity, int type, int damage, float knockback)
|
||||
{
|
||||
if (type == 1)
|
||||
{
|
||||
@@ -45,16 +46,16 @@ public class PiercingBow : ModItem
|
||||
|
||||
public override void AddRecipes()
|
||||
{
|
||||
Recipe val = CreateRecipe();
|
||||
val.AddIngredient(ItemID.WoodenBow, 1);
|
||||
val.AddIngredient(ItemID.IronBow, 1);
|
||||
val.AddTile(TileID.Anvils);
|
||||
val.Register();
|
||||
CreateRecipe()
|
||||
.AddIngredient(ItemID.WoodenBow)
|
||||
.AddIngredient(ItemID.IronBow)
|
||||
.AddTile(TileID.Anvils)
|
||||
.Register();
|
||||
|
||||
Recipe val2 = CreateRecipe();
|
||||
val2.AddIngredient(ItemID.WoodenBow, 1);
|
||||
val2.AddIngredient(ItemID.LeadBow, 1);
|
||||
val2.AddTile(TileID.Anvils);
|
||||
val2.Register();
|
||||
CreateRecipe()
|
||||
.AddIngredient(ItemID.WoodenBow)
|
||||
.AddIngredient(ItemID.LeadBow)
|
||||
.AddTile(TileID.Anvils)
|
||||
.Register();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ public class DemonsBow : ModItem
|
||||
public override void SetDefaults()
|
||||
{
|
||||
Item.damage = 34;
|
||||
Item.DamageType = DamageClass.Ranged;
|
||||
Item.width = 18;
|
||||
Item.height = 38;
|
||||
Item.useTime = 16;
|
||||
@@ -55,16 +56,16 @@ public class DemonsBow : ModItem
|
||||
Item.damage = 34;
|
||||
Item.shoot = ProjectileID.HellfireArrow;
|
||||
}
|
||||
return CanUseItem(player);
|
||||
return base.CanUseItem(player);
|
||||
}
|
||||
|
||||
public override void AddRecipes()
|
||||
{
|
||||
Recipe val = CreateRecipe();
|
||||
val.AddIngredient(ModContent.ItemType<StormBow>());
|
||||
val.AddIngredient(ModContent.ItemType<StonePlatedBow>());
|
||||
val.AddIngredient(ItemID.HellstoneBar, 6);
|
||||
val.AddTile(TileID.Anvils);
|
||||
val.Register();
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<StormBow>())
|
||||
.AddIngredient(ModContent.ItemType<StonePlatedBow>())
|
||||
.AddIngredient(ItemID.HellstoneBar, 6)
|
||||
.AddTile(TileID.Anvils)
|
||||
.Register();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ public class GoldenKabuki : ModItem
|
||||
public override void SetDefaults()
|
||||
{
|
||||
Item.damage = 58;
|
||||
Item.DamageType = DamageClass.Ranged;
|
||||
Item.width = 18;
|
||||
Item.height = 38;
|
||||
Item.useTime = 12;
|
||||
@@ -55,15 +56,15 @@ public class GoldenKabuki : ModItem
|
||||
Item.damage = 58;
|
||||
Item.shoot = ProjectileID.HolyArrow;
|
||||
}
|
||||
return CanUseItem(player);
|
||||
return base.CanUseItem(player);
|
||||
}
|
||||
|
||||
public override void AddRecipes()
|
||||
{
|
||||
Recipe val = CreateRecipe();
|
||||
val.AddIngredient(ModContent.ItemType<Kabuki>());
|
||||
val.AddIngredient(ModContent.ItemType<Items.CraftingIngredients.GoddessGold>(), 6);
|
||||
val.AddTile(TileID.MythrilAnvil);
|
||||
val.Register();
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<Kabuki>())
|
||||
.AddIngredient(ModContent.ItemType<Items.CraftingIngredients.GoddessGold>(), 6)
|
||||
.AddTile(TileID.MythrilAnvil)
|
||||
.Register();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ public class Kabuki : ModItem
|
||||
public override void SetDefaults()
|
||||
{
|
||||
Item.damage = 42;
|
||||
Item.DamageType = DamageClass.Ranged;
|
||||
Item.width = 18;
|
||||
Item.height = 38;
|
||||
Item.useTime = 14;
|
||||
@@ -55,15 +56,15 @@ public class Kabuki : ModItem
|
||||
Item.damage = 42;
|
||||
Item.shoot = ProjectileID.HellfireArrow;
|
||||
}
|
||||
return CanUseItem(player);
|
||||
return base.CanUseItem(player);
|
||||
}
|
||||
|
||||
public override void AddRecipes()
|
||||
{
|
||||
Recipe val = CreateRecipe();
|
||||
val.AddIngredient(ModContent.ItemType<DemonsBow>());
|
||||
val.AddIngredient(ItemID.HallowedBar, 6);
|
||||
val.AddTile(TileID.MythrilAnvil);
|
||||
val.Register();
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<DemonsBow>())
|
||||
.AddIngredient(ItemID.HallowedBar, 6)
|
||||
.AddTile(TileID.MythrilAnvil)
|
||||
.Register();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ public class RainBow : ModItem
|
||||
public override void SetDefaults()
|
||||
{
|
||||
Item.damage = 90;
|
||||
Item.DamageType = DamageClass.Ranged;
|
||||
Item.width = 30;
|
||||
Item.height = 50;
|
||||
Item.useTime = 3;
|
||||
@@ -55,15 +56,15 @@ public class RainBow : ModItem
|
||||
Item.damage = 90;
|
||||
Item.shoot = ModContent.ProjectileType<RainbowArrow>();
|
||||
}
|
||||
return CanUseItem(player);
|
||||
return base.CanUseItem(player);
|
||||
}
|
||||
|
||||
public override void AddRecipes()
|
||||
{
|
||||
Recipe val = CreateRecipe();
|
||||
val.AddIngredient(ModContent.ItemType<GoldenKabuki>());
|
||||
val.AddIngredient(ModContent.ItemType<Bars.RainbowChunk>(), 6);
|
||||
val.AddTile(ModContent.TileType<global::FabusMod.Tiles.RainbowStation>());
|
||||
val.Register();
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<GoldenKabuki>())
|
||||
.AddIngredient(ModContent.ItemType<Bars.RainbowChunk>(), 6)
|
||||
.AddTile(ModContent.TileType<global::FabusMod.Tiles.RainbowStation>())
|
||||
.Register();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ public class StonePlatedBow : ModItem
|
||||
public override void SetDefaults()
|
||||
{
|
||||
Item.damage = 5;
|
||||
Item.DamageType = DamageClass.Ranged;
|
||||
Item.width = 18;
|
||||
Item.height = 38;
|
||||
Item.useTime = 32;
|
||||
@@ -31,11 +32,11 @@ public class StonePlatedBow : ModItem
|
||||
|
||||
public override void AddRecipes()
|
||||
{
|
||||
Recipe val = CreateRecipe();
|
||||
val.AddIngredient(ModContent.ItemType<Items.WeaponParts.UntreatedBowPart>(), 2);
|
||||
val.AddIngredient(ItemID.StoneBlock, 4);
|
||||
val.AddIngredient(ItemID.FallenStar, 1);
|
||||
val.AddTile(ModContent.TileType<global::FabusMod.Tiles.ReinforcedWorkBench>());
|
||||
val.Register();
|
||||
CreateRecipe()
|
||||
.AddIngredient(ModContent.ItemType<Items.WeaponParts.UntreatedBowPart>(), 2)
|
||||
.AddIngredient(ItemID.StoneBlock, 4)
|
||||
.AddIngredient(ItemID.FallenStar)
|
||||
.AddTile(ModContent.TileType<global::FabusMod.Tiles.ReinforcedWorkBench>())
|
||||
.Register();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ public class StormBow : ModItem
|
||||
public override void SetDefaults()
|
||||
{
|
||||
Item.damage = 24;
|
||||
Item.DamageType = DamageClass.Ranged;
|
||||
Item.width = 18;
|
||||
Item.height = 38;
|
||||
Item.useTime = 18;
|
||||
@@ -43,7 +44,7 @@ public class StormBow : ModItem
|
||||
Item.useTime = 4;
|
||||
Item.useAnimation = 24;
|
||||
Item.damage = 24;
|
||||
Item.reuseDelay = 90;
|
||||
Item.reuseDelay = 90;
|
||||
Item.shoot = ModContent.ProjectileType<StormArrow>();
|
||||
}
|
||||
else
|
||||
@@ -55,6 +56,6 @@ public class StormBow : ModItem
|
||||
Item.damage = 28;
|
||||
Item.shoot = ProjectileID.WoodenArrowFriendly;
|
||||
}
|
||||
return CanUseItem(player);
|
||||
return base.CanUseItem(player);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user