예제 #1
0
        // Token: 0x06002B71 RID: 11121 RVA: 0x000B73F4 File Offset: 0x000B55F4
        protected override void AddDebuff(CharacterBody body)
        {
            SetStateOnHurt component = body.healthComponent.GetComponent <SetStateOnHurt>();

            if (component != null)
            {
                component.SetStun(-1f);
            }
            if (FirePlantSonicBoom.hitEffectPrefab)
            {
                EffectManager.SpawnEffect(FirePlantSonicBoom.hitEffectPrefab, new EffectData
                {
                    origin = body.corePosition
                }, true);
            }
            if (base.healthComponent)
            {
                HealOrb healOrb = new HealOrb();
                healOrb.origin           = body.corePosition;
                healOrb.target           = base.healthComponent.body.mainHurtBox;
                healOrb.healValue        = FirePlantSonicBoom.healthFractionPerHit * base.healthComponent.fullHealth;
                healOrb.overrideDuration = UnityEngine.Random.Range(0.3f, 0.6f);
                OrbManager.instance.AddOrb(healOrb);
            }
            Util.PlaySound(FirePlantSonicBoom.impactSoundString, base.gameObject);
        }
예제 #2
0
        // Token: 0x06002B87 RID: 11143 RVA: 0x000B7D40 File Offset: 0x000B5F40
        private void HealPulse()
        {
            HealthComponent healthComponent = this.owner ? this.owner.GetComponent <HealthComponent>() : null;

            if (healthComponent && this.rootedBodies.Count > 0)
            {
                float   num     = 1f / TreebotFlower2Projectile.healPulseCount;
                HealOrb healOrb = new HealOrb();
                healOrb.origin           = base.transform.position;
                healOrb.target           = healthComponent.body.mainHurtBox;
                healOrb.healValue        = num * TreebotFlower2Projectile.healthFractionYieldPerHit * healthComponent.fullHealth * (float)this.rootedBodies.Count;
                healOrb.overrideDuration = 0.3f;
                OrbManager.instance.AddOrb(healOrb);
            }
        }
 // Token: 0x06001F52 RID: 8018 RVA: 0x00088088 File Offset: 0x00086288
 public void OnDamageInflictedServer(DamageReport damageReport)
 {
     if (this.projectileController.owner)
     {
         HealthComponent component = this.projectileController.owner.GetComponent <HealthComponent>();
         if (component)
         {
             HealOrb healOrb = new HealOrb();
             healOrb.origin           = base.transform.position;
             healOrb.target           = component.body.mainHurtBox;
             healOrb.healValue        = damageReport.damageDealt * this.fractionOfDamage;
             healOrb.overrideDuration = 0.3f;
             OrbManager.instance.AddOrb(healOrb);
         }
     }
 }