Decimation_Mod/Content/Projectiles/Boss/DuneWyrm/AncientTombCrawler.cs
FyloZ 0cf76d5270 Organized projectiles.
Updated The Mind trinity item.
2020-07-14 22:31:26 -04:00

96 lines
2.7 KiB
C#

using Decimation.Lib.Projectile;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Terraria.ModLoader;
namespace Decimation.Content.Projectiles.Boss.DuneWyrm
{
class AncientTombCrawlerHead : AncientTombCrawler
{
public override string Texture => "Decimation/Content/NPCs/DuneWyrm/AncientTombCrawler/AncientTombCrawlerHead";
protected override void Init()
{
base.Init();
projectile.damage = 50;
projectile.width = 38;
projectile.height = 38;
projectile.minionSlots = 1f;
}
public override void InitWorm()
{
base.InitWorm();
Head = true;
}
}
class AncientTombCrawlerBody : AncientTombCrawler
{
public override string Texture => "Decimation/Content/NPCs/DuneWyrm/AncientTombCrawler/AncientTombCrawlerBody";
protected override void Init()
{
base.Init();
projectile.width = 24;
projectile.height = 24;
projectile.damage = 35;
}
}
class AncientTombCrawlerTail : AncientTombCrawler
{
public override string Texture => "Decimation/Content/NPCs/DuneWyrm/AncientTombCrawler/AncientTombCrawlerTail";
protected override void Init()
{
base.Init();
projectile.width = 20;
projectile.height = 20;
projectile.damage = 25;
}
public override void InitWorm()
{
base.InitWorm();
Tail = true;
}
}
public abstract class AncientTombCrawler : WormProjectile
{
protected override void Init()
{
projectile.aiStyle = -1;
projectile.penetrate = -1;
projectile.light = 1f;
projectile.tileCollide = false;
projectile.ignoreWater = true;
projectile.netImportant = true;
projectile.timeLeft = int.MaxValue;
projectile.hostile = false;
projectile.friendly = true;
}
public override void InitWorm()
{
MinLength = 8;
MaxLength = 8;
TailType = ModContent.ProjectileType<AncientTombCrawlerTail>();
BodyType = ModContent.ProjectileType<AncientTombCrawlerBody>();
HeadType = ModContent.ProjectileType<AncientTombCrawlerHead>();
Speed = 5f;
TurnSpeed = 0.1f;
}
public override bool PreDraw(SpriteBatch spriteBatch, Color lightColor)
{
Draw(Texture.Replace("Decimation/", ""), spriteBatch, lightColor);
return false;
}
}
}