public sealed override bool PreAI() { SafeAI(); projectile.scale = projectile.ai[0] < 10 ? (projectile.ai[0] / 10f) : 1; Player player = Main.player[projectile.owner]; player.heldProj = projectile.whoAmI; if (player.HeldItem.useTurn) { player.direction = Math.Sign(player.velocity.X); if (player.direction == 0) { player.direction = player.oldDirection; } } int degrees = (int)((player.itemAnimation * -0.7) + 55) * player.direction * (int)player.gravDir; if (player.direction == 1) { degrees += 180; } if (!_statBuffed) { _statBuffed = true; float damageMult = player.meleeDamage; float damageFlat = 0; float add = 0; PlayerHooks.ModifyWeaponDamage(player, player.HeldItem, ref add, ref damageMult, ref damageFlat); minDamage = (int)(minDamage * damageMult) + (int)damageFlat; maxDamage = (int)(maxDamage * (1 + ((damageMult - 1) / 6))) + (int)damageFlat; } radians = degrees * (Math.PI / 180); if (player.channel && !released) { if (projectile.ai[0] == 0) { player.itemTime = 180; player.itemAnimation = 180; } if (projectile.ai[0] < ChargeTime) { projectile.ai[0]++; float rot = Main.rand.NextFloat(MathHelper.TwoPi); if (DustType != -1) { Dust.NewDustPerfect(projectile.Center + Vector2.One.RotatedBy(rot) * 35, DustType, -Vector2.One.RotatedBy(rot) * 1.5f, 0, default, projectile.ai[0] / 100f);
public override void ModifyWeaponDamage(Player player, ref float add, ref float mult, ref float flat) { item.useAmmo = AmmoID.Gel; PlayerHooks.ModifyWeaponDamage(player, item, ref add, ref mult, ref flat); item.useAmmo = AmmoID.Solution; }