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); }
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"); } } }
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."); } }
/// <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); }
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(); } }
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); } }
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); } } }
/// <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); }