Beispiel #1
0
        public static void HandleBattlemasterJoin(IRealmClient client, RealmPacketIn packet)
        {
            packet.ReadEntityId();
            BattlegroundId bgId       = (BattlegroundId)packet.ReadUInt32();
            uint           instanceId = packet.ReadUInt32();
            bool           asGroup    = packet.ReadBoolean();

            if (bgId <= BattlegroundId.None || bgId >= BattlegroundId.End)
            {
                return;
            }
            BattlegroundMgr.EnqueuePlayers(client.ActiveCharacter, bgId, instanceId, asGroup);
        }
Beispiel #2
0
 public ArathiBasin()
 {
     _template  = BattlegroundMgr.GetTemplate(BattlegroundId.ArathiBasin);
     Bases      = new ArathiBase[(int)ArathiBases.End];
     scoreTicks = new int[6] {
         0, 10, 10, 10, 10, 30
     };
     tickLengths = new int[6] {
         0, 12000, 9000, 6000, 3000, 1000
     };
     ReputationScoreTick = IsHolidayBG ? ReputationScoreTicksInCallToArms : ReputationScoreTicks;
     HonorScoreTick      = IsHolidayBG ? HonorScoreTicksInCallToArms : HonorScoreTicks;
 }
        public static void HandleBattlemasterJoin(IRealmClient client, RealmPacketIn packet)
        {
            var battlemasterGuid = packet.ReadEntityId();
            var bgId             = (BattlegroundId)packet.ReadUInt32();
            var instanceId       = packet.ReadUInt32();
            var asGroup          = packet.ReadBoolean();

            // check to make sure bg id was valid
            if (bgId <= BattlegroundId.None || bgId >= BattlegroundId.End)
            {
                return;
            }

            var chr = client.ActiveCharacter;

            BattlegroundMgr.EnqueuePlayers(chr, bgId, instanceId, asGroup);
        }
        public static void HandleBattlefieldList(IRealmClient client, RealmPacketIn packet)
        {
            var bgId    = (BattlegroundId)packet.ReadUInt32();
            var fromGui = packet.ReadBoolean();
            var unk1    = packet.ReadByte();

            var templ = BattlegroundMgr.GetTemplate(bgId);
            var chr   = client.ActiveCharacter;

            if (templ != null)
            {
                var queue = templ.GetQueue(chr.Level);
                if (queue != null)
                {
                    SendBattlefieldList(chr, queue);
                }
            }
        }
Beispiel #5
0
        public static void HandleBattlefieldList(IRealmClient client, RealmPacketIn packet)
        {
            BattlegroundId bgid = (BattlegroundId)packet.ReadUInt32();

            packet.ReadBoolean();
            int num = packet.ReadByte();
            BattlegroundTemplate template        = BattlegroundMgr.GetTemplate(bgid);
            Character            activeCharacter = client.ActiveCharacter;

            if (template == null)
            {
                return;
            }
            GlobalBattlegroundQueue queue = template.GetQueue(activeCharacter.Level);

            if (queue == null)
            {
                return;
            }
            SendBattlefieldList(activeCharacter, queue);
        }
Beispiel #6
0
 public AlteracValley()
 {
     _template = BattlegroundMgr.GetTemplate(BattlegroundId.AlteracValley);
     Factions  = new AVFaction[(int)BattlegroundSide.End];
     AVItems   = new AVItem[(int)AVBases.End];
 }
Beispiel #7
0
 public WarsongGulch()
 {
     _template = BattlegroundMgr.GetTemplate(BattlegroundId.WarsongGulch);
     Factions  = new WSGFaction[(int)BattlegroundSide.End];
 }
Beispiel #8
0
            public override void Process(CmdTrigger <RealmServerCmdArgs> trigger)
            {
                var mod    = trigger.Text.NextModifiers();
                var target = trigger.Args.Target;

                int level;

                if (mod.Contains("l"))
                {
                    level = trigger.Text.NextInt();
                    if (level < 1)
                    {
                        trigger.Reply("Invalid level.");
                        return;
                    }
                }
                else
                {
                    if (target == null)
                    {
                        trigger.Reply("You need to specify a level with the -l switch.");
                        return;
                    }
                    level = target.Level;
                }

                var bgid  = trigger.Text.NextEnum(BattlegroundId.End);
                var templ = BattlegroundMgr.GetTemplate(bgid);

                if (templ == null)
                {
                    trigger.Reply("Invalid BGId: {0}", bgid);
                    return;
                }
                if (level < templ.MinLevel || level > templ.MaxLevel)
                {
                    trigger.Reply("Invalid level: Must be between {0} and {1}", templ.MinLevel, templ.MaxLevel);
                    return;
                }

                var queue    = templ.GetQueue(level);
                var instance = queue.CreateBattleground();

                if (instance != null)
                {
                    trigger.Reply("Battleground created: " + instance);
                    if (mod.Length == 0)
                    {
                        return;
                    }

                    // process modifiers
                    var chr = target as Character;

                    if (mod.Contains("i"))
                    {
                        // invite
                        if (chr == null)
                        {
                            // requires Character
                            trigger.Reply("-i modifier requires a Character target: " + mod);
                            return;
                        }
                        var team = instance.GetTeam(chr.FactionGroup.GetBattlegroundSide());
                        team.Invite(chr);
                    }

                    if (mod.Contains("e"))
                    {
                        // enter
                        if (chr == null)
                        {
                            // requires Character
                            trigger.Reply("-e modifier requires a Character target: " + mod);
                            return;
                        }
                        instance.TeleportInside(chr);
                    }
                }
                else
                {
                    trigger.Reply("Unable to create Battleground: " + bgid);
                }
            }