Untitled
unknown
plain_text
a year ago
1.6 kB
10
Indexable
public class MoonArrow : ModItem { public override void SetDefaults() { Item.width = 10; Item.height = 32; Item.maxStack = Item.CommonMaxStack; Item.value = Item.sellPrice(copper: 2, silver: 2); Item.rare = ItemRarityID.White; Item.damage = 10; Item.crit = 4; Item.DamageType = DamageClass.Ranged; Item.consumable = true; Item.shootSpeed = 1f; Item.shoot = ModContent.ProjectileType<MoonArrowShot>(); Item.ammo = AmmoID.Arrow; Item.knockBack = 1.2f; } } public class MoonArrowShot : ModProjectile { public override void SetDefaults() { Projectile.width = 8; Projectile.height = 8; Projectile.friendly = true; Projectile.DamageType = DamageClass.Ranged; Projectile.ignoreWater = true; Projectile.tileCollide = true; Projectile.light = 0.3f; // AIType = ProjectileID.WoodenArrowFriendly; // Act exactly like default Bullet } private const int GravityDelay = 45; public int GravityDelayTimer { get => (int)Projectile.ai[1]; set => Projectile.ai[1] = value; } public override void AI() { GravityDelayTimer++; Projectile.direction = Projectile.spriteDirection = (Projectile.velocity.X > 0f) ? 1 : -1; Projectile.rotation = Projectile.velocity.ToRotation(); if (Projectile.spriteDirection == -1) { Projectile.rotation += MathHelper.Pi; } if (GravityDelayTimer >= GravityDelay) { GravityDelayTimer = GravityDelay; // gravity Projectile.velocity.Y += 0.05f; } } }
Editor is loading...
Leave a Comment