public static void SetAbility(string ability, string onOff = "toggle") { AbilitiesManager manager = AbilitiesManager.GetInstance(); if (ability.ToLower().Equals("stun")) { Engine.SendPacketToServer(new StunRequest()); return; } if (ability.ToLower().Equals("disarm")) { Engine.SendPacketToServer(new DisarmRequest()); return; } bool primary; switch (ability.ToLower()) { case "primary": primary = true; break; default: primary = false; break; } string onOffNormalized = onOff.Trim().ToLower(); if (onOffNormalized != "toggle") { switch (onOffNormalized) { case "on": { if (primary && manager.IsPrimaryEnabled || !primary && manager.IsSecondaryEnabled) { if (!MacroManager.QuietMode) { UOC.SystemMessage(Strings.Ability_already_set___, (int)UOC.SystemMessageHues.Green); } return; } break; } case "off": { if (primary && !manager.IsPrimaryEnabled || !primary && !manager.IsSecondaryEnabled) { if (!MacroManager.QuietMode) { UOC.SystemMessage(Strings.Ability_not_set___, (int)UOC.SystemMessageHues.Green); } return; } break; } } } if (onOffNormalized == "off" || onOffNormalized == "toggle" && (manager.IsPrimaryEnabled || manager.IsSecondaryEnabled)) { UOC.ClearWeaponAbility(); } else { UOC.SystemMessage(string.Format(Strings.Setting_ability___0_____, ability), (int)UOC.SystemMessageHues.Green); manager.SetAbility(primary ? AbilityType.Primary : AbilityType.Secondary); } }
public static void ClearAbility() { UOC.ClearWeaponAbility(); }