public override void UpdateAccessory(Player player, bool hideVisual) { player.rangedDamage += 0.1f; AeroPlayer modPlayer = (AeroPlayer)player.GetModPlayer(mod, "AeroPlayer"); modPlayer.EmeraldEmpoweredGem = true; }
public override void UpdateAccessory(Player player, bool hideVisual) { player.jumpSpeedBoost += 2f; AeroPlayer modPlayer = (AeroPlayer)player.GetModPlayer(mod, "AeroPlayer"); modPlayer.MidasCrown = true; player.AddBuff(75, 900, false); }
public override void UpdateAccessory(Player player, bool hideVisual) { player.allDamage += 0.10f; player.starCloak = true; player.panic = true; player.bee = true; AeroPlayer modPlayer = (AeroPlayer)player.GetModPlayer(mod, "AeroPlayer"); modPlayer.QueensStinger = true; }
public override void UpdateArmorSet(Player player) { player.allDamage += 0.15f; player.wingTimeMax *= 2; player.jumpSpeedBoost += 1.5f; player.setBonus = "+15% increase to all damage\nIncreased flight time\nIncreased jump speed\n10% increased movement speed\nYou leave a trail of deadly spirits"; AeroPlayer modPlayer = (AeroPlayer)player.GetModPlayer(mod, "AeroPlayer"); modPlayer.SpiritCultistBonus = true; }
public override void AI() { Lighting.AddLight(projectile.Center, (255 - projectile.alpha) * 0.9f / 255f, (255 - projectile.alpha) * 0.1f / 255f, (255 - projectile.alpha) * 0.3f / 255f); #region vectors floats and ints Player player = Main.player[projectile.owner]; AeroPlayer modPlayer = player.GetModPlayer <AeroPlayer>(); Vector2 idlePosition = player.Center; Vector2 vectorToIdlePosition = idlePosition - projectile.Center; float distanceToIdlePosition = vectorToIdlePosition.Length(); #endregion if (player.dead) { modPlayer.FishPartner = false; } if (modPlayer.FishPartner) { projectile.timeLeft = 2; } #region tp to player with dusty if (distanceToIdlePosition > 600f) { projectile.position.X = projectile.position.X + (projectile.width / 2.0f); projectile.position.Y = projectile.position.Y + (projectile.height / 2.0f); projectile.width = 30; projectile.height = 30; projectile.position.X = projectile.position.X - (projectile.width / 2.0f); projectile.position.Y = projectile.position.Y - (projectile.height / 2.0f); for (int num621 = 0; num621 < 10; num621++) { int num622 = Dust.NewDust(new Vector2(projectile.position.X, projectile.position.Y), projectile.width, projectile.height, 226, 0f, 0f, 100, new Color(112, 244, 250), 2f); Main.dust[num622].velocity *= 1f; if (Main.rand.Next(2) == 0) { Main.dust[num622].scale = 0.3f; Main.dust[num622].fadeIn = 1f + (float)Main.rand.Next(10) * 0.1f; } } projectile.Center = player.velocity * .25f; NetMessage.SendData(MessageID.PlayerControls, number: player.whoAmI); player.fallStart = (int)(player.position.Y / 16f); for (int i = 0; i < 4; i++) { Vector2 projectilePosition = projectile.position; projectilePosition -= projectile.velocity * (i * 0.25f); projectile.alpha = 255; int dust = Dust.NewDust(projectilePosition, 1, 1, ModContent.DustType <Sparkle>(), 0f, 0f, 0, default, 1f);
public override bool PreAI() { Player p = Main.player[projectile.owner]; AeroPlayer ap = p.GetModPlayer <AeroPlayer>(); // Check to see if the projectile needs to be alive. if (!p.HasBuff(ModContent.BuffType <Buffs.BurnshockShield>())) { projectile.Kill(); return(false); } projectile.timeLeft = 10; // Positioning of projectile (client/owner side). if (Main.myPlayer == projectile.owner) { Vector2 playerCenter = p.position + new Vector2(0, p.gfxOffY + p.height / 4); Vector2 targetDirection = Vector2.Normalize(Main.MouseWorld - playerCenter); projectile.position = playerCenter + targetDirection * centerOffset; projectile.rotation = targetDirection.ToRotation(); } // Projectile intersection loop. for (int i = 0; i < Main.maxProjectiles; ++i) { if (i == projectile.whoAmI || !Main.projectile[i].active || Main.projectile[i].friendly) { continue; } if (Main.projectile[i].Hitbox.Intersects(projectile.Hitbox)) { projectile.ai[0]++; projectile.netUpdate = true; Main.projectile[i].Kill(); Main.projectile[i].netUpdate = true; } } if (projectile.ai[0] >= 5) { p.AddBuff(ModContent.BuffType <Buffs.BurnshockDefense>(), 420); ap.burnshockSetBonusCooldown = ap.defaultBurnshockSetBonusCooldown; projectile.Kill(); } return(false); }
public override void CheckActive() { Player player = Main.player[projectile.owner]; AeroPlayer modPlayer = player.GetModPlayer <AeroPlayer>(); if (player.dead) { modPlayer.ShiverMinion = false; } if (modPlayer.ShiverMinion) { projectile.timeLeft = 2; } }
public override void Update(Player player, ref int buffIndex) { AeroPlayer modPlayer = player.GetModPlayer <AeroPlayer>(); if (player.ownedProjectileCounts[ModContent.ProjectileType <BurningNeutronStar>()] > 0) { modPlayer.NeutronMinion = true; } if (!modPlayer.NeutronMinion) { player.DelBuff(buffIndex); buffIndex--; return; } player.buffTime[buffIndex] = 18000; }
public override void Update(Player player, ref int buffIndex) { AeroPlayer modPlayer = player.GetModPlayer <AeroPlayer>(); if (player.ownedProjectileCounts[ModContent.ProjectileType <ShockburnDrone>()] > 0) { modPlayer.StarDrone = true; } if (!modPlayer.StarDrone) { player.DelBuff(buffIndex); buffIndex--; } else { player.buffTime[buffIndex] = 18000; } }
public override void Update(Player player, ref int buffIndex) { AeroPlayer ap = player.GetModPlayer <AeroPlayer>(); if (player.ownedProjectileCounts[ModContent.ProjectileType <Content.Projectiles.Weapons.Summoning.Huntress>()] > 0) { ap.huntressSummon = true; } if (!ap.huntressSummon) { player.DelBuff(buffIndex--); } else { player.buffTime[buffIndex] = 18000; } }
public override void UpdateArmorSet(Player player) { player.setBonus = "11% increased melee damage\nTaking damage will release damaging shards of crystal\nCommand a projectile blocking shield"; player.meleeDamage += 0.11f; AeroPlayer ap = player.GetModPlayer <AeroPlayer>(); ap.BurnshockArmorBonus = true; if (ap.burnshockSetBonusCooldown > 0) { ap.burnshockSetBonusCooldown--; } else { if (player.ownedProjectileCounts[ModContent.ProjectileType <BurnshockArmorProjectile>()] < 1) { Projectile.NewProjectile(player.Center, default, ModContent.ProjectileType <BurnshockArmorProjectile>(), 0, 0, player.whoAmI);
public override void Update(Player player, ref int buffIndex) { AeroPlayer ap = player.GetModPlayer <AeroPlayer>(); int projectileAmount = player.ownedProjectileCounts[ModContent.ProjectileType <Content.Projectiles.Weapons.Summoning.CharmingBushRedFlower>()] + player.ownedProjectileCounts[ModContent.ProjectileType <Content.Projectiles.Weapons.Summoning.CharmingBushGreenFlower>()] + player.ownedProjectileCounts[ModContent.ProjectileType <Content.Projectiles.Weapons.Summoning.CharmingBushYellowFlower>()]; if (projectileAmount > 0) { ap.charmingBush = true; } if (!ap.charmingBush) { player.DelBuff(buffIndex--); } else { player.buffTime[buffIndex] = 18000; } }
public override void AI() { bool flag64 = projectile.type == mod.ProjectileType("Minicry"); Player player = Main.player[projectile.owner]; AeroPlayer modPlayer = player.GetModPlayer <AeroPlayer>(); if (flag64) { if (player.dead) { modPlayer.Minicry = false; } if (modPlayer.Minicry) { projectile.timeLeft = 2; } } i++; projectile.rotation = projectile.velocity.ToRotation(); projectile.frameCounter++; if (projectile.frameCounter % 10 == 0) { projectile.frame++; projectile.frameCounter = 0; if (projectile.frame >= 6) { projectile.frame = 0; } } if (i % 2 == 0) { int dust = Dust.NewDust(projectile.position, projectile.width / 2, projectile.height / 2, 132); } }
public override bool PreAI() { Player owner = Main.player[projectile.owner]; AeroPlayer ap = owner.GetModPlayer <AeroPlayer>(); if (JustSpawned) { for (int i = 0; i < 20; ++i) { Dust dust = Dust.NewDustDirect(projectile.position, projectile.width, projectile.height, ModContent.DustType <Dusts.Leaves>(), 0, 0, 100); dust.velocity *= 1.5f; } projectile.localAI[0] = 1; } if (!owner.active) { projectile.active = false; return(false); } if (owner.dead) { ap.charmingBush = false; } if (ap.charmingBush) { projectile.timeLeft = 2; } FollowOwner(owner); if ((int)(++projectile.localAI[1]) % ShootCooldown == 0) { int target = -1; float distance = ShootRange; for (int i = 0; i < Main.maxNPCs; i++) { if (Main.npc[i].CanBeChasedBy(projectile)) { float currentDistance = projectile.Distance(Main.npc[i].Center); if (currentDistance < distance) { target = i; distance = currentDistance; } } } if (target != -1) { if (Main.myPlayer == projectile.owner) { ShootAt(Main.npc[target]); } } } return(false); }
public override void AI() { bool minion = projectile.type == ModContent.ProjectileType <BurningNeutronStar>(); AeroPlayer mp = Main.player[projectile.owner].GetModPlayer <AeroPlayer>(); Player player = Main.player[projectile.owner]; if (Main.player[projectile.owner].ownedProjectileCounts[ModContent.ProjectileType <BurningNeutronStar>()] > 1) { projectile.Kill(); } { projectile.position.X = Main.player[projectile.owner].Center.X - (float)(projectile.width / 2); projectile.position.Y = Main.player[projectile.owner].Center.Y - (float)(projectile.height / 2) + Main.player[projectile.owner].gfxOffY - 60f; if (Main.player[projectile.owner].gravDir == -1f) { projectile.position.Y += 120f; projectile.rotation = 3.14f; } else { projectile.rotation = 0f; } projectile.position.X = (int)projectile.position.X; projectile.position.Y = (int)projectile.position.Y; float num406 = (float)(int)Main.mouseTextColor / 200f - 0.35f; num406 *= 0.2f; projectile.scale = num406 + 0.95f; if (projectile.owner != Main.myPlayer) { return; } if (projectile.ai[0] == 0f) { float num407 = projectile.position.X; float num408 = projectile.position.Y; float num409 = 700f; bool flag11 = false; for (int num410 = 0; num410 < 200; num410++) { if (Main.npc[num410].CanBeChasedBy(this, ignoreDontTakeDamage: true)) { float num411 = Main.npc[num410].position.X + (float)(Main.npc[num410].width / 2); float num412 = Main.npc[num410].position.Y + (float)(Main.npc[num410].height / 2); float num413 = Math.Abs(projectile.position.X + (float)(projectile.width / 2) - num411) + Math.Abs(projectile.position.Y + (float)(projectile.height / 2) - num412); if (num413 < num409 && Collision.CanHit(projectile.position, projectile.width, projectile.height, Main.npc[num410].position, Main.npc[num410].width, Main.npc[num410].height)) { num409 = num413; num407 = num411; num408 = num412; flag11 = true; } } } if (flag11) { float num414 = 12f; Vector2 vector30 = new Vector2(projectile.position.X + (float)projectile.width * 0.5f, projectile.position.Y + (float)projectile.height * 0.5f); float num415 = num407 - vector30.X; float num416 = num408 - vector30.Y; float num417 = (float)Math.Sqrt(num415 * num415 + num416 * num416); float num418 = num417; num417 = num414 / num417; num415 *= num417; num416 *= num417; Projectile.NewProjectile(projectile.Center.X - 4f, projectile.Center.Y, num415, num416, ModContent.ProjectileType <SkylightProjectile>(), Player.crystalLeafDamage, Player.crystalLeafKB, projectile.owner); projectile.ai[0] = 50f; } } else { projectile.ai[0] -= 1f; } } }