xd Demi
Terrarian
What is the Override void for projectiles basically exactly like the meowmere. The sword that I'm making is basically the meowmere retextured and is more powerful but shoots projectiles slower but deals more damage. I got the basics down for coding except for this Override void () I just want to know what the override void
Error :
c:\Users\Owner\Documents\My Games\Terraria\ModLoader\Mod Sources\DemiMod\Items\Barkbasenji.cs(102,30) : error CS0111: Type 'DemiMod.Items.Barkbasenji' already defines a member called 'OnHitNPC' with the same parameter types
Code :
using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using Terraria.DataStructures;
namespace DemiMod.Items
{
public class Barkbasenji : ModItem
{
public override void SetStaticDefaults()
{
DisplayName.SetDefault("Barkbasenji"); //The weapon's name when shown in-game.
DisplayName.SetDefault("BarkbasenjiProj");
}
public override void SetDefaults()
{
item.useStyle = 1;
item.UseSound = SoundID.Item1;
item.damage = 270;
item.width = 50;
item.height = 58;
item.useTime = 20;
item.useAnimation = 18;
item.melee = true;
item.expert = false;
item.autoReuse = true;
item.noUseGraphic = false;
item.useTurn = true;
item.noMelee = false;
item.value = Item.sellPrice(1, 50, 0, 0);
item.shoot = 0;
item.scale = 0.7f;
}
public override bool AltFunctionUse(Player player)
{
return true;
}
public override bool CanUseItem(Player player)
{
if (player.altFunctionUse == 2)
{
item.useStyle = 1;
item.UseSound = SoundID.Item1;
item.damage = 270;
item.width = 50;
item.height = 58;
item.useTime = 20;
item.useAnimation = 18;
item.melee = true;
item.expert = false;
item.autoReuse = true;
item.noUseGraphic = true;
item.useTurn = false;
item.noMelee = false;
item.value = Item.sellPrice(1, 50, 0, 0);
item.shoot = mod.ProjectileType("Barkbasenji");
item.shootSpeed = 18f;
item.scale = 0.7f;
}
else
{
item.useStyle = 1;
item.UseSound = SoundID.Item1;
item.damage = 270;
item.width = 50;
item.height = 58;
item.useTime = 20;
item.useAnimation = 18;
item.melee = true;
item.expert = false;
item.autoReuse = true;
item.noUseGraphic = false;
item.useTurn = true;
item.noMelee = false;
item.value = Item.sellPrice(1, 50, 0, 0);
item.shoot = 0;
item.scale = 0.7f;
}
return base.CanUseItem(player);
}
public override void OnHitNPC(Player player, NPC target, int damage, float knockback, bool crit)
{
target.AddBuff(BuffID.CursedInferno, 0 * 60); //Add CursedInferno buff to the NPC for 5 seconds.
projectile.width = 24;
projectile.height = 24;
projectile.timeLeft = 15;
projectile.penetrate = -1;
projectile.scale = 0.6f;
projectile.ignoreWater = true;
projectile.melee = true;
projectile.friendly = true;
projectile.tileCollide = true;
}
public override void OnHitNPC(Player player, NPC target, int damage, float knockback, bool crit)
{
//The sound code for the projectile.
projectile.soundDelay--;
if (projectile.soundDelay <= 0)
{
Main.PlaySound(2, (int)projectile.Center.X, (int)projectile.Center.Y, 15);
projectile.soundDelay = 45;
}
//How the projectile works.
Player player = Main.player[projectile.owner];
if (Main.myPlayer == projectile.owner)
{
if (!player.channel || player.noItems || player.CCed)
{
projectile.Kill();
}
}
Lighting.AddLight(projectile.Center, 0f, 1f, 0f); //This is the Projectile's light color (RGB)
projectile.Center = player.MountedCenter;
projectile.position.X += player.width / 2 * player.direction;
projectile.spriteDirection = player.direction;
projectile.rotation += 0.36f * player.direction; //This is the Projectile's Spinning/Rotation Speed
if (projectile.rotation > MathHelper.TwoPi)
{
projectile.rotation -= MathHelper.TwoPi;
}
}
public override bool PreDraw(SpriteBatch spriteBatch, Color lightColor)
{
Texture2D texture = Main.projectileTexture[projectile.type];
spriteBatch.Draw(texture, projectile.Center - Main.screenPosition, null, Color.White, projectile.rotation, new Vector2(texture.Width / 2, texture.Height / 2), projectile.scale, projectile.spriteDirection == 1 ? SpriteEffects.None : SpriteEffects.FlipHorizontally, 0f);
return false;
}
public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
{
target.AddBuff(BuffID.CursedInferno, 1 * 60); //Add CursedInferno Buff to the NPC for 5 seconds.
target.immune[projectile.owner] = 2;
}
}
}
Error :
c:\Users\Owner\Documents\My Games\Terraria\ModLoader\Mod Sources\DemiMod\Items\Barkbasenji.cs(102,30) : error CS0111: Type 'DemiMod.Items.Barkbasenji' already defines a member called 'OnHitNPC' with the same parameter types
Code :
using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using Terraria.DataStructures;
namespace DemiMod.Items
{
public class Barkbasenji : ModItem
{
public override void SetStaticDefaults()
{
DisplayName.SetDefault("Barkbasenji"); //The weapon's name when shown in-game.
DisplayName.SetDefault("BarkbasenjiProj");
}
public override void SetDefaults()
{
item.useStyle = 1;
item.UseSound = SoundID.Item1;
item.damage = 270;
item.width = 50;
item.height = 58;
item.useTime = 20;
item.useAnimation = 18;
item.melee = true;
item.expert = false;
item.autoReuse = true;
item.noUseGraphic = false;
item.useTurn = true;
item.noMelee = false;
item.value = Item.sellPrice(1, 50, 0, 0);
item.shoot = 0;
item.scale = 0.7f;
}
public override bool AltFunctionUse(Player player)
{
return true;
}
public override bool CanUseItem(Player player)
{
if (player.altFunctionUse == 2)
{
item.useStyle = 1;
item.UseSound = SoundID.Item1;
item.damage = 270;
item.width = 50;
item.height = 58;
item.useTime = 20;
item.useAnimation = 18;
item.melee = true;
item.expert = false;
item.autoReuse = true;
item.noUseGraphic = true;
item.useTurn = false;
item.noMelee = false;
item.value = Item.sellPrice(1, 50, 0, 0);
item.shoot = mod.ProjectileType("Barkbasenji");
item.shootSpeed = 18f;
item.scale = 0.7f;
}
else
{
item.useStyle = 1;
item.UseSound = SoundID.Item1;
item.damage = 270;
item.width = 50;
item.height = 58;
item.useTime = 20;
item.useAnimation = 18;
item.melee = true;
item.expert = false;
item.autoReuse = true;
item.noUseGraphic = false;
item.useTurn = true;
item.noMelee = false;
item.value = Item.sellPrice(1, 50, 0, 0);
item.shoot = 0;
item.scale = 0.7f;
}
return base.CanUseItem(player);
}
public override void OnHitNPC(Player player, NPC target, int damage, float knockback, bool crit)
{
target.AddBuff(BuffID.CursedInferno, 0 * 60); //Add CursedInferno buff to the NPC for 5 seconds.
projectile.width = 24;
projectile.height = 24;
projectile.timeLeft = 15;
projectile.penetrate = -1;
projectile.scale = 0.6f;
projectile.ignoreWater = true;
projectile.melee = true;
projectile.friendly = true;
projectile.tileCollide = true;
}
public override void OnHitNPC(Player player, NPC target, int damage, float knockback, bool crit)
{
//The sound code for the projectile.
projectile.soundDelay--;
if (projectile.soundDelay <= 0)
{
Main.PlaySound(2, (int)projectile.Center.X, (int)projectile.Center.Y, 15);
projectile.soundDelay = 45;
}
//How the projectile works.
Player player = Main.player[projectile.owner];
if (Main.myPlayer == projectile.owner)
{
if (!player.channel || player.noItems || player.CCed)
{
projectile.Kill();
}
}
Lighting.AddLight(projectile.Center, 0f, 1f, 0f); //This is the Projectile's light color (RGB)
projectile.Center = player.MountedCenter;
projectile.position.X += player.width / 2 * player.direction;
projectile.spriteDirection = player.direction;
projectile.rotation += 0.36f * player.direction; //This is the Projectile's Spinning/Rotation Speed
if (projectile.rotation > MathHelper.TwoPi)
{
projectile.rotation -= MathHelper.TwoPi;
}
}
public override bool PreDraw(SpriteBatch spriteBatch, Color lightColor)
{
Texture2D texture = Main.projectileTexture[projectile.type];
spriteBatch.Draw(texture, projectile.Center - Main.screenPosition, null, Color.White, projectile.rotation, new Vector2(texture.Width / 2, texture.Height / 2), projectile.scale, projectile.spriteDirection == 1 ? SpriteEffects.None : SpriteEffects.FlipHorizontally, 0f);
return false;
}
public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
{
target.AddBuff(BuffID.CursedInferno, 1 * 60); //Add CursedInferno Buff to the NPC for 5 seconds.
target.immune[projectile.owner] = 2;
}
}
}