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

◆ ghostHeal()

void Terraria.Projectile.ghostHeal ( int dmg,
Vector2 Position,
Entity victim )
inline

Definition at line 10702 of file Projectile.cs.

10703 {
10704 float num = 0.2f;
10705 num -= (float)numHits * 0.05f;
10706 if (num <= 0f)
10707 {
10708 return;
10709 }
10710 float num2 = (float)dmg * num;
10711 if ((int)num2 <= 0 || Main.player[Main.myPlayer].lifeSteal <= 0f)
10712 {
10713 return;
10714 }
10715 Main.player[Main.myPlayer].lifeSteal -= num2;
10716 if (!magic)
10717 {
10718 return;
10719 }
10720 float num3 = 0f;
10721 int num4 = owner;
10722 for (int i = 0; i < 255; i++)
10723 {
10724 if (Main.player[i].active && !Main.player[i].dead && ((!Main.player[owner].hostile && !Main.player[i].hostile) || Main.player[owner].team == Main.player[i].team) && Distance(Main.player[i].Center) <= 3000f)
10725 {
10726 int num5 = Main.player[i].statLifeMax2 - Main.player[i].statLife;
10727 if ((float)num5 > num3)
10728 {
10729 num3 = num5;
10730 num4 = i;
10731 }
10732 }
10733 }
10734 NewProjectile(GetProjectileSource_OnHit(victim, 15), Position.X, Position.Y, 0f, 0f, 298, 0, 0f, owner, num4, num2);
10735 }
float Distance(Vector2 Other)
Definition Entity.cs:187
IEntitySource GetProjectileSource_OnHit(Entity victim, int projectileSourceId)
static int NewProjectile(IEntitySource spawnSource, Vector2 position, Vector2 velocity, int Type, int Damage, float KnockBack, int Owner=-1, float ai0=0f, float ai1=0f, float ai2=0f)

References Terraria.Entity.Distance(), Terraria.Projectile.GetProjectileSource_OnHit(), Terraria.Projectile.magic, Terraria.Main.myPlayer, Terraria.Projectile.NewProjectile(), Terraria.Projectile.numHits, Terraria.Projectile.owner, and Terraria.Main.player.

Referenced by Terraria.Projectile.Damage().