Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ AI_185_LifeDrain()

void Terraria.Projectile.AI_185_LifeDrain ( )
inlineprivate

Definition at line 34685 of file Projectile.cs.

34686 {
34687 if (Main.myPlayer != owner || localAI[0] != 0f)
34688 {
34689 return;
34690 }
34691 Player player = Main.player[owner];
34692 bool flag = false;
34693 for (int i = 0; i < 200; i++)
34694 {
34695 NPC nPC = Main.npc[i];
34696 if (nPC.active && !nPC.townNPC && !nPC.dontTakeDamage && !nPC.friendly && base.Hitbox.Intersects(nPC.Hitbox))
34697 {
34698 flag = true;
34699 break;
34700 }
34701 }
34702 if (!flag)
34703 {
34704 for (int j = 0; j < 255; j++)
34705 {
34706 Player player2 = Main.player[j];
34707 if (player2.active && player2.whoAmI != player.whoAmI && player2.hostile && !player2.immune && !player2.dead && player2.team != player.team && base.Hitbox.Intersects(player2.Hitbox))
34708 {
34709 flag = true;
34710 break;
34711 }
34712 }
34713 }
34714 if (flag)
34715 {
34716 player.CheckMana(player.inventory[player.selectedItem].mana, pay: true);
34717 localAI[0] = 1f;
34718 }
34719 }

References Terraria.Player.CheckMana(), Terraria.Player.inventory, Terraria.Item.mana, Terraria.Main.myPlayer, Terraria.Main.npc, Terraria.Main.player, Terraria.Player.selectedItem, Terraria.Player.team, and Terraria.Entity.whoAmI.