Ejemplo n.º 1
0
 // Token: 0x06000C79 RID: 3193 RVA: 0x00038388 File Offset: 0x00036588
 private void ServerFixedUpdate()
 {
     this.timer -= Time.fixedDeltaTime;
     if (this.timer <= 0f)
     {
         float damageMultiplier = 1f + (float)(this.stack - 1) * 0.5f;
         this.timer = this.interval;
         Collider[]   array  = Physics.OverlapSphere(base.transform.position, this.radius, LayerIndex.entityPrecise.mask, QueryTriggerInteraction.Collide);
         GameObject[] array2 = new GameObject[array.Length];
         int          count  = 0;
         for (int i = 0; i < array.Length; i++)
         {
             GameObject gameObject = Util.HurtBoxColliderToBody(array[i]).gameObject;
             if (gameObject && Array.IndexOf <GameObject>(array2, gameObject, 0, count) == -1)
             {
                 DotController.InflictDot(gameObject, this.networkedBodyAttachment.attachedBodyObject, DotController.DotIndex.Helfire, this.dotDuration, damageMultiplier);
                 array2[count++] = gameObject;
             }
         }
     }
 }
Ejemplo n.º 2
0
        private void ServerFixedUpdate()
        {
            timer -= Time.fixedDeltaTime;
            if (!(timer <= 0f))
            {
                return;
            }

            var damageMultiplier = 1f + (stack - 1) * 0.5f;

            timer = interval;
            var array = Physics.OverlapSphere(transform.position, radius, LayerIndex.entityPrecise.mask,
                                              QueryTriggerInteraction.Collide);
            var array2 = new GameObject[array.Length];
            var count  = 0;

            var teamIndex = networkedBodyAttachment.attachedBodyObject.GetComponent <TeamComponent>()?.teamIndex ?? TeamIndex.None;

            foreach (var collider in array)
            {
                var otherGameObject = GetGameObjectFromCollider(collider);

                if (!otherGameObject || Array.IndexOf(array2, otherGameObject, 0, count) != -1)
                {
                    continue;
                }

                var otherTeamIndex = otherGameObject.GetComponent <TeamComponent>()?.teamIndex ?? TeamIndex.None;

                // Don't affect friendlies
                if (teamIndex == TeamIndex.Player && otherTeamIndex == TeamIndex.Player)
                {
                    continue;
                }

                DotController.InflictDot(otherGameObject, networkedBodyAttachment.attachedBodyObject,
                                         DotController.DotIndex.Helfire, dotDuration, damageMultiplier);
                array2[count++] = otherGameObject;
            }
        }
 // Token: 0x06001033 RID: 4147 RVA: 0x00051538 File Offset: 0x0004F738
 private void FixedUpdate()
 {
     this.radius = this.baseRadius * (1f + (float)(this.stack - 1) * 0.5f);
     if (NetworkServer.active)
     {
         this.timer -= Time.fixedDeltaTime;
         if (this.timer <= 0f)
         {
             float damageMultiplier = 1f + (float)(this.stack - 1) * 0.5f;
             this.timer = this.interval;
             this.bullseyeSearch.searchOrigin      = base.transform.position;
             this.bullseyeSearch.maxDistanceFilter = this.radius;
             this.bullseyeSearch.RefreshCandidates();
             foreach (GameObject victimObject in (from hurtBox in this.bullseyeSearch.GetResults()
                                                  where hurtBox.healthComponent
                                                  select hurtBox.healthComponent.gameObject).Distinct <GameObject>())
             {
                 DotController.InflictDot(victimObject, this.networkedBodyAttachment.attachedBodyObject, DotController.DotIndex.Helfire, this.dotDuration, damageMultiplier);
             }
         }
     }
 }