public override void StartBuff()
        {
            _battlefront = Target.Region?.Bttlfront;

            if (_battlefront == null)
            {
                BuffHasExpired = true;
                return;
            }

            _rationDebuffFactor = _battlefront.GetRationFactor(Target);

            if (_rationDebuffFactor == 1f)
            {
                BuffHasExpired = true;
                return;
            }

            AddBuffParameter(1, -1);

            BuffState = (byte)EBuffState.Running;

            Target.StsInterface.AddReducedMultiplier(Stats.Wounds, 1f / _rationDebuffFactor, BuffClass.Career);

            SendStart(null);
        }
Пример #2
0
        public static void SafeKeep(Player plr)
        {
            IBattlefront battlefront = plr.Region.Bttlfront;

            if (GameData.Constants.DoomsdaySwitch == 2)
            {
                ProximityProgressingBattlefront pBttlfront = battlefront as ProximityProgressingBattlefront;

                if (pBttlfront != null)
                {
                    foreach (Keep keep in pBttlfront._Keeps)
                    {
                        keep.SafeKeep();
                    }

                    plr.SendClientMessage("Keeps set to status safe");
                }
                else
                {
                    ProximityBattlefront bttlfront = battlefront as ProximityBattlefront;

                    foreach (Keep keep in bttlfront._Keeps)
                    {
                        keep.SafeKeep();
                    }

                    plr.SendClientMessage("Keeps set to status safe");
                }
            }
            else
            {
                ProgressingBattlefront pBttlfront = battlefront as ProgressingBattlefront;

                if (pBttlfront != null)
                {
                    foreach (Keep keep in pBttlfront._Keeps)
                    {
                        keep.SafeKeep();
                    }

                    plr.SendClientMessage("Keeps set to status safe");
                }
                else
                {
                    Battlefront bttlfront = battlefront as Battlefront;

                    foreach (Keep keep in bttlfront._Keeps)
                    {
                        keep.SafeKeep();
                    }

                    plr.SendClientMessage("Keeps set to status safe");
                }
            }
        }
Пример #3
0
        public static void Lock(Player plr, Realms realm, string noReward)
        {
            if (noReward == "0" || noReward == "1")
            {
                plr.SendClientMessage($"Attempting to lock the {plr.Region.RegionId} campaign...");

                IBattlefront battlefront = plr.Region.Bttlfront;

                bool b = false;
                if (noReward == "0")
                {
                    b = true;
                }

                if (GameData.Constants.DoomsdaySwitch == 2)
                {
                    ProximityProgressingBattlefront pBttlfront = battlefront as ProximityProgressingBattlefront;
                    if (pBttlfront != null)
                    {
                        pBttlfront.LockZone(realm, (int)plr.ZoneId, true, false, b); // Reset changed to false
                    }
                    else
                    {
                        battlefront.LockPairing(realm, false, false, b);
                    }
                }
                else if (GameData.Constants.DoomsdaySwitch > 0)
                {
                    ProgressingBattlefront pBttlfront = battlefront as ProgressingBattlefront;
                    if (pBttlfront != null)
                    {
                        pBttlfront.LockZone(realm, (int)plr.ZoneId, true, true, b);
                    }
                    else
                    {
                        battlefront.LockPairing(realm, false, false, b);
                    }
                }
                else
                {
                    battlefront.LockPairing(realm, true);
                }
            }
            else
            {
                plr.SendClientMessage("Second parameter must be 0 or 1 - 0 no rewards, 1 grants rewards.");
            }
        }
Пример #4
0
 /// <summary>
 /// Gets an objective flag in current battlefront depending on given id.
 /// </summary>
 /// <param name="battlefront">Battlefront to search in</param>
 /// <param name="name">Name of the searched objective (starts with)</param>
 /// <returns>flag or null</returns>
 private static ProximityFlag GetFlag(IBattlefront battlefront, String name)
 {
     if (name == null)
     {
         return(null);
     }
     name = name.ToLowerInvariant();
     foreach (ProximityFlag existing in battlefront.Objectives)
     {
         if (existing.Name.ToLowerInvariant().Contains(name))
         {
             return(existing);
         }
     }
     return(null);
 }
Пример #5
0
        public static void Reset(Player plr)
        {
            plr.SendClientMessage($"Attempting to reset the {plr.Region.RegionId} campaign...");

            IBattlefront battlefront = plr.Region.Bttlfront;

            //NEWDAWN
            if (battlefront != null)
            {
                battlefront.ResetPairing();
            }
            else
            {
                plr.Region.ndbf.ResetPairing();
            }
        }
Пример #6
0
        public static void Draw(Player plr)
        {
            plr.SendClientMessage($"Attempting to lock the {plr.Region.RegionId} campaign...");
            IBattlefront battlefront = plr.Region.Bttlfront;

            Random random = new Random();
            Realms realm;

            switch (random.Next(1, 3))
            {
            case 1:
                realm = Realms.REALMS_REALM_ORDER;
                break;

            case 2:
                realm = Realms.REALMS_REALM_DESTRUCTION;
                break;

            default:
                realm = Realms.REALMS_REALM_ORDER;
                break;
            }

            if (GameData.Constants.DoomsdaySwitch == 2)
            {
                ProximityProgressingBattlefront pBttlfront = battlefront as ProximityProgressingBattlefront;
                if (pBttlfront != null)
                {
                    pBttlfront.LockZone(realm, (int)plr.ZoneId, true, false, false, true); // Reset changed to false
                }
                else
                {
                    battlefront.LockPairing(realm, false, false, false, true);
                }
            }
            else
            {
                battlefront.LockPairing(realm, true);
            }
        }
Пример #7
0
        public static void Grace(Player plr)
        {
            IBattlefront battlefront = plr.Region.Bttlfront;

            if (GameData.Constants.DoomsdaySwitch == 2)
            {
                ProximityProgressingBattlefront pBttlfront = battlefront as ProximityProgressingBattlefront;

                if (pBttlfront != null)
                {
                    if (pBttlfront.GraceDisabled)
                    {
                        pBttlfront.StartGrace();
                    }
                    else
                    {
                        pBttlfront.EndGrace();
                    }

                    plr.SendClientMessage("Current Value of Grace: " + pBttlfront.GraceDisabled, ChatLogFilters.CHATLOGFILTERS_TELL_RECEIVE);
                }
                else
                {
                    ProximityBattlefront bttlfront = battlefront as ProximityBattlefront;

                    if (bttlfront.GraceDisabled)
                    {
                        bttlfront.StartGrace();
                    }
                    else
                    {
                        bttlfront.EndGrace();
                    }

                    plr.SendClientMessage("Current Value of Grace: " + bttlfront.GraceDisabled, ChatLogFilters.CHATLOGFILTERS_TELL_RECEIVE);
                }
            }
            else
            {
                ProgressingBattlefront pBttlfront = battlefront as ProgressingBattlefront;

                if (pBttlfront != null)
                {
                    if (pBttlfront.GraceDisabled)
                    {
                        pBttlfront.StartGrace();
                    }
                    else
                    {
                        pBttlfront.EndGrace();
                    }

                    plr.SendClientMessage("Current Value of Grace: " + pBttlfront.GraceDisabled);
                }
                else
                {
                    Battlefront bttlfront = battlefront as Battlefront;

                    if (bttlfront.GraceDisabled)
                    {
                        bttlfront.StartGrace();
                    }
                    else
                    {
                        bttlfront.EndGrace();
                    }

                    plr.SendClientMessage("Current Value of Grace: " + pBttlfront.GraceDisabled);
                }
            }
        }
Пример #8
0
 /// <summary>
 /// Registers the given battlefront.
 /// </summary>
 /// <param name="front"></param>
 /// <remarks>public for legacy purpose</remarks>
 public static void AddBattlefront(IBattlefront front, int tier)
 {
     Battlefronts[tier - 1].Add(front);
 }