public override void Update(Player player, ref int buffIndex) { TerramonPlayer modPlayer = player.GetModPlayer <TerramonPlayer>(); if (string.IsNullOrEmpty(modPlayer.ActivePetName)) { player.DelBuff(buffIndex); return; } ProjectileName = modPlayer.ActivePetName; player.buffTime[buffIndex] = 40000; modPlayer.ActivatePet(ProjectileName); var petProjectileNotSpawned = !(player.ownedProjectileCounts[mod.ProjectileType(ProjectileName)] > 0); if (petProjectileNotSpawned && player.whoAmI == Main.myPlayer) { if (player.direction == 1) // direction right { modPlayer.ActivePetId = Projectile.NewProjectile(player.position.X + 50, player.position.Y - 8, 0f, 0f, mod.ProjectileType(ProjectileName), 0, 0f, player.whoAmI, 0f, 0f); } else // direction left { modPlayer.ActivePetId = Projectile.NewProjectile(player.position.X - 50, player.position.Y - 8, 0f, 0f, mod.ProjectileType(ProjectileName), 0, 0f, player.whoAmI, 0f, 0f); } } }
public override void Update(Player player, ref int buffIndex) { TerramonPlayer modPlayer = player.GetModPlayer <TerramonPlayer>(); if (string.IsNullOrEmpty(modPlayer.ActivePetName)) { player.DelBuff(buffIndex); return; } //if (oldName != modPlayer.ActivePetName) //{ ProjectileName = modPlayer.ActivePetName; // oldName = ProjectileName; //} player.buffTime[buffIndex] = 40000; modPlayer.ActivatePet(ProjectileName); var petProjectileNotSpawned = !(player.ownedProjectileCounts[mod.ProjectileType(ProjectileName)] > 0); if (petProjectileNotSpawned && player.whoAmI == Main.myPlayer) { modPlayer.ActivePetId = Projectile.NewProjectile(player.position.X + player.width / 2, player.position.Y + player.height / 2, 0f, 0f, mod.ProjectileType(ProjectileName), 0, 0f, player.whoAmI, 0f, 0f); } }