Fixed crashes for ranged weapons.

Optimized code.
This commit is contained in:
Big Duckie
2022-07-05 16:08:31 -06:00
parent 8f5ec80722
commit eb2cb27e79
51 changed files with 513 additions and 501 deletions
+9 -8
View File
@@ -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();
}
}
+8 -7
View File
@@ -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();
}
}
+12 -11
View File
@@ -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);
}
}