Beispiel #1
0
        public override void OnTargeted(Players.Player player, Net.GS.Message.Definitions.World.TargetMessage message)
        {
            Logger.Warn("Healthwell Implementaion ver 1.1, Range 26f, refill 5 second");
            var playersAffected = player.GetPlayersInRange(26f);

            foreach (Players.Player playerN in playersAffected)
            {
                foreach (Players.Player targetAffected in playersAffected)
                {
                    player.InGameClient.SendMessage(new Net.GS.Message.Definitions.Effect.PlayEffectMessage()
                    {
                        ActorId = targetAffected.DynamicID,
                        Effect  = Net.GS.Message.Definitions.Effect.Effect.HealthOrbPickup
                    });
                }

                player.AddPercentageHP(100);
            }
            this.Attributes[GameAttribute.Gizmo_Has_Been_Operated] = true;
            this.Attributes[GameAttribute.Gizmo_Operator_ACDID]    = unchecked ((int)player.DynamicID);
            this.Attributes[GameAttribute.Gizmo_State]             = 1;
            Attributes.BroadcastChangedIfRevealed();

            Ticker.TickTimer Timeout = new Ticker.SecondsTickTimer(player.World.Game, 5f);
            var ListenerWaiting      = System.Threading.Tasks.Task <bool> .Factory.StartNew(() => WaitToSpawn(Timeout));

            ListenerWaiting.ContinueWith(delegate {
                this.Attributes[GameAttribute.Gizmo_Has_Been_Operated] = false;
                //this.Attributes[GameAttribute.Gizmo_Operator_ACDID] = unchecked((int)player.DynamicID);
                this.Attributes[GameAttribute.Gizmo_State] = 0;
                Attributes.BroadcastChangedIfRevealed();
            });

            player.Attributes[GameAttribute.Skill, 0x0002EC66]       = 1;
            player.Attributes[GameAttribute.Skill_Total, 0x0002EC66] = 1;

            player.Attributes.SendChangedMessage(player.InGameClient);
        }
Beispiel #2
0
        public override void OnTargeted(Players.Player player, Net.GS.Message.Definitions.World.TargetMessage message)
        {
            Logger.Warn("Healthwell Implementaion ver 1.0, Range 26f");
            var playersAffected = player.GetPlayersInRange(26f);

            foreach (Players.Player playerN in playersAffected)
            {
                foreach (Players.Player targetAffected in playersAffected)
                {
                    player.InGameClient.SendMessage(new Net.GS.Message.Definitions.Effect.PlayEffectMessage()
                    {
                        ActorId = targetAffected.DynamicID,
                        Effect  = Net.GS.Message.Definitions.Effect.Effect.HealthOrbPickup
                    });
                }

                //every summon and mercenary owned by you must broadcast their green text to you /H_DANILO
                player.AddPercentageHP(100);
            }
            this.Attributes[GameAttribute.Gizmo_Has_Been_Operated] = true;
            this.Attributes[GameAttribute.Gizmo_Operator_ACDID]    = unchecked ((int)player.DynamicID);
            this.Attributes[GameAttribute.Gizmo_State]             = 1;
            Attributes.BroadcastChangedIfRevealed();
        }
Beispiel #3
0
        public override void OnTargeted(Players.Player player, Net.GS.Message.Definitions.World.TargetMessage message)
        {
            World.BroadcastIfRevealed(new ShrineActivatedMessage {
                ActorID = this.DynamicID
            }, this);
            #region Анимация использования
            World.BroadcastIfRevealed(new Net.GS.Message.Definitions.Animation.PlayAnimationMessage
            {
                ActorID = this.DynamicID,
                Field1  = 11,
                Field2  = 0,
                tAnim   = new Net.GS.Message.Fields.PlayAnimationMessageSpec[]
                {
                    new Net.GS.Message.Fields.PlayAnimationMessageSpec()
                    {
                        Duration         = 10,
                        AnimationSNO     = AnimationSet.TagMapAnimDefault[AnimationSetKeys.DeathDefault],
                        PermutationIndex = 0,
                        Speed            = 1
                    }
                }
            }, this);
            #endregion
            #region Исцеление
            var playersAffected = player.GetPlayersInRange(26f);
            foreach (Players.Player playerN in playersAffected)
            {
                foreach (Players.Player targetAffected in playersAffected)
                {
                    player.InGameClient.SendMessage(new Net.GS.Message.Definitions.Effect.PlayEffectMessage()
                    {
                        ActorId = targetAffected.DynamicID,
                        Effect  = Net.GS.Message.Definitions.Effect.Effect.HealthOrbPickup
                    });
                }

                player.AddPercentageHP(100);
            }
            #endregion

            switch (this.ActorSNO.Id)
            {
            case 225269:
                World.PowerManager.RunPower(player, 30476);    //Shrine_Desecrated_Blessed - Благославение, противники наносят на 25% меньше урона
                Logger.Warn("Shrine Heal, and activate Blessed Buff. (No Work)");
                break;

            case 225270:
                World.PowerManager.RunPower(player, 30477);    //Shrine_Desecrated_Enlightened - Просветление, +25% к урону.
                Logger.Warn("Shrine Heal, and activate Enlightened Buff. (Complete Work)");
                break;

            case 225271:
                World.PowerManager.RunPower(player, 30478);    //Shrine_Desecrated_Fortune - Вероятность лучшего дропа +25%
                Logger.Warn("Shrine Heal, and activate Fortune Buff. (Complete Work)");
                break;

            case 225272:
                World.PowerManager.RunPower(player, 30479);    // Shrine_Desecrated_Frenzied
                Logger.Warn("Shrine Heal, and activate Frenzied Buff. (Complete Work");
                break;
            }

            this.Attributes[GameAttribute.Gizmo_Has_Been_Operated] = true;
            this.Attributes[GameAttribute.Gizmo_State]             = 1;
            Attributes.BroadcastChangedIfRevealed();
            player.PlayEffectGroup(18364);

            //player.Attributes[GameAttribute.Skill, 226820] = 1;
            //player.Attributes[GameAttribute.Skill_Total, 226820] = 1;
            player.Attributes.SendChangedMessage(player.InGameClient);
        }