コード例 #1
0
            public override void OnArrival()
            {
                base.OnArrival();
                //Ceil stacks to int and send if owner is in radius

                if (this.isOwnerInside && this.stacks > 0)
                {
                    RestoreOrb orb = new RestoreOrb();
                    orb.stacks = (UInt32)Mathf.CeilToInt((this.stacks) / this.blazeExpireStacksMult);
                    orb.length = this.blazeBuffDuration;
                    orb.origin = this.origin;
                    orb.skin   = this.skin;
                    orb.target = this.attackerBox;

                    OrbManager.instance.AddOrb(orb);
                }

                if (this.attackerBody.HasBuff(BuffIndex.EnrageAncientWisp))
                {
                    this.attackerBody.RemoveBuff(BuffIndex.EnrageAncientWisp);
                }

                this.isActive = false;

                this.hitDetection.Cleanup();
                UnityEngine.Object.Destroy(this.obj);
            }
コード例 #2
0
            private void SendStackBundle()
            {
                this.bundleSendTimer -= this.bundleSendInt;
                this.stacks          -= this.blazeOrbStackBundleSize;
                Int32 bonus = Mathf.FloorToInt(this.stacks * this.blazeBonusBundlePercent);

                this.stacks -= bonus;

                if (this.bundleSendTimer > 0f)
                {
                    this.bundleSendTimer *= 0.25f;
                }

                RestoreOrb orb = new RestoreOrb();

                orb.stacks = (UInt32)Mathf.CeilToInt(this.blazeOrbStackBundleSize + bonus);
                orb.length = this.blazeBuffDuration;
                orb.origin = this.origin;
                orb.skin   = this.skin;
                orb.target = this.attackerBox;

                OrbManager.instance.AddOrb(orb);
            }