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
@@ -16,6 +16,7 @@ public class DynasticFuser : ModItem
public override void SetDefaults()
{
Item.damage = 14;
Item.DamageType = DamageClass.Ranged;
Item.width = 72;
Item.height = 32;
Item.useTime = 7;
@@ -37,18 +38,18 @@ public class DynasticFuser : ModItem
return new Vector2(-2f, 2f);
}
public override bool CanConsumeAmmo(Item ammo, Player player)
public override bool CanConsumeAmmo(Item ammo, Player player)
{
return Utils.NextFloat(Main.rand) >= 0.3f;
}
public override void AddRecipes()
{
Recipe val = CreateRecipe();
val.AddIngredient(ModContent.ItemType<FusionDriver>());
val.AddIngredient(ItemID.HellstoneBar, 12);
val.AddIngredient(ItemID.Sapphire, 8);
val.AddTile(TileID.Anvils);
val.Register();
CreateRecipe()
.AddIngredient(ModContent.ItemType<FusionDriver>())
.AddIngredient(ItemID.HellstoneBar, 12)
.AddIngredient(ItemID.Sapphire, 8)
.AddTile(TileID.Anvils)
.Register();
}
}
@@ -16,6 +16,7 @@ public class DynasticFuserGolden : ModItem
public override void SetDefaults()
{
Item.damage = 72;
Item.DamageType = DamageClass.Ranged;
Item.width = 70;
Item.height = 32;
Item.useTime = 4;
@@ -37,17 +38,17 @@ public class DynasticFuserGolden : ModItem
return new Vector2(-2f, 2f);
}
public override bool CanConsumeAmmo(Item ammo, Player player)
public override bool CanConsumeAmmo(Item ammo, Player player)
{
return Utils.NextFloat(Main.rand) >= 0.55f;
}
public override void AddRecipes()
{
Recipe val = CreateRecipe();
val.AddRecipeGroup("FabusMod:ProtectionFuser", 1);
val.AddIngredient(ModContent.ItemType<Items.CraftingIngredients.GoddessGold>(), 8);
val.AddTile(TileID.AdamantiteForge);
val.Register();
CreateRecipe()
.AddRecipeGroup("FabusMod:ProtectionFuser")
.AddIngredient(ModContent.ItemType<Items.CraftingIngredients.GoddessGold>(), 8)
.AddTile(TileID.AdamantiteForge)
.Register();
}
}
@@ -18,6 +18,7 @@ public class FusedRainbow : ModItem
public override void SetDefaults()
{
Item.damage = 85;
Item.DamageType = DamageClass.Ranged;
Item.width = 70;
Item.height = 32;
Item.useTime = 2;
@@ -39,13 +40,13 @@ public class FusedRainbow : ModItem
return new Vector2(-2f, 2f);
}
public override bool CanConsumeAmmo(Item ammo, Player player)
{
public override bool CanConsumeAmmo(Item ammo, Player player)
{
return Utils.NextFloat(Main.rand) >= 0.8f;
}
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 == 14)
{
type = ModContent.ProjectileType<RainbowBullet>();
@@ -55,10 +56,10 @@ public class FusedRainbow : ModItem
public override void AddRecipes()
{
Recipe val = CreateRecipe();
val.AddIngredient(ModContent.ItemType<DynasticFuserGolden>());
val.AddIngredient(ModContent.ItemType<Bars.RainbowChunk>(), 12);
val.AddTile(ModContent.TileType<global::FabusMod.Tiles.RainbowStation>());
val.Register();
CreateRecipe()
.AddIngredient(ModContent.ItemType<DynasticFuserGolden>())
.AddIngredient(ModContent.ItemType<Bars.RainbowChunk>(), 12)
.AddTile(ModContent.TileType<global::FabusMod.Tiles.RainbowStation>())
.Register();
}
}
@@ -16,6 +16,7 @@ public class FusionDriver : ModItem
public override void SetDefaults()
{
Item.damage = 5;
Item.DamageType = DamageClass.Ranged;
Item.width = 72;
Item.height = 32;
Item.useTime = 8;
@@ -39,10 +40,10 @@ public class FusionDriver : ModItem
public override void AddRecipes()
{
Recipe val = CreateRecipe();
val.AddRecipeGroup("IronBar", 12);
val.AddIngredient(ItemID.Emerald, 4);
val.AddTile(TileID.Anvils);
val.Register();
CreateRecipe()
.AddRecipeGroup("IronBar", 12)
.AddIngredient(ItemID.Emerald, 4)
.AddTile(TileID.Anvils)
.Register();
}
}
@@ -16,6 +16,7 @@ public class ProtectionFuser : ModItem
public override void SetDefaults()
{
Item.damage = 36;
Item.DamageType = DamageClass.Ranged;
Item.width = 72;
Item.height = 32;
Item.useTime = 5;
@@ -37,23 +38,23 @@ public class ProtectionFuser : ModItem
return new Vector2(-2f, 2f);
}
public override bool CanConsumeAmmo(Item ammo, Player player)
public override bool CanConsumeAmmo(Item ammo, Player player)
{
return Utils.NextFloat(Main.rand) >= 0.42f;
}
public override void AddRecipes()
{
Recipe val = CreateRecipe();
val.AddIngredient(ModContent.ItemType<DynasticFuser>());
val.AddRecipeGroup("FabusMod:AdamantiteBar", 12);
val.AddTile(TileID.MythrilAnvil);
val.Register();
CreateRecipe()
.AddIngredient(ModContent.ItemType<DynasticFuser>())
.AddRecipeGroup("FabusMod:AdamantiteBar", 12)
.AddTile(TileID.MythrilAnvil)
.Register();
Recipe val2 = CreateRecipe();
val2.AddIngredient(ModContent.ItemType<ProtectionFuserCarbonFiber>());
val2.AddIngredient(ItemID.SilverDye, 1);
val2.AddTile(TileID.DyeVat);
val2.Register();
CreateRecipe()
.AddIngredient(ModContent.ItemType<ProtectionFuserCarbonFiber>())
.AddIngredient(ItemID.SilverDye)
.AddTile(TileID.DyeVat)
.Register();
}
}
@@ -16,6 +16,7 @@ public class ProtectionFuserCarbonFiber : ModItem
public override void SetDefaults()
{
Item.damage = 36;
Item.DamageType = DamageClass.Ranged;
Item.width = 72;
Item.height = 32;
Item.useTime = 5;
@@ -37,17 +38,17 @@ public class ProtectionFuserCarbonFiber : ModItem
return new Vector2(-2f, 2f);
}
public override bool CanConsumeAmmo(Item ammo, Player player)
{
public override bool CanConsumeAmmo(Item ammo, Player player)
{
return Utils.NextFloat(Main.rand) >= 0.42f;
}
public override void AddRecipes()
{
Recipe val = CreateRecipe();
val.AddIngredient(ModContent.ItemType<ProtectionFuser>());
val.AddIngredient(ItemID.BlackDye, 1);
val.AddTile(TileID.DyeVat);
val.Register();
CreateRecipe()
.AddIngredient(ModContent.ItemType<ProtectionFuser>())
.AddIngredient(ItemID.BlackDye)
.AddTile(TileID.DyeVat)
.Register();
}
}