private void HandleTalentPointsChanged(object sender, LuaEventArgs args) { if (!HasLearnedMajorTree) SelectMajorTalentTree(_talentBuild.Specialization); var learned = BuildLearnedTalentDictionary(); var wanted = GetCurrentSpecTalentPlacements(); int numAvailable = Lua.GetReturnVal<int>("return GetUnspentTalentPoints()", 0); foreach (var tp in wanted) { if (numAvailable == 0) continue; var lt = learned.FirstOrDefault(t => (t.Name == tp.Name) || (t.Index == tp.Index && t.Tab == tp.Tab)); int numLearned = 0; if (lt != null) numLearned = lt.Count; while (numAvailable != 0 && numLearned < tp.Count) { LearnTalent(tp.Tab, tp.Index); numLearned++; numAvailable--; } } Lua.DoString("LearnPreviewTalents()"); }
private static void OnDisconected(object sender, LuaEventArgs args) { const string title = "Character Disconnected"; const string message = "You've been disconnected."; SendNotification(message, title); }
public static void HandleResurrect(object sender, LuaEventArgs args) { float waitseconds = Lua.GetReturnVal <float>("return GetCorpseRecoveryDelay()", 0); Thread.Sleep((int)(waitseconds * 1000)); Lua.DoString("AcceptResurrect()"); }
private static void initializeTalents(object sender, LuaEventArgs args) { L.infoLog("Event triggered: " + args.EventName, C.InfoColor); //WriteDebugLuaEvents(args); setTalents(); //printTalents(); }
private void Reload(object sender, LuaEventArgs args) { if (ProfileManager.XmlLocation.ToLower().Contains("questing profile pack")) { _kickz = false; for (var i = 0; i <= _qdirs.Length - 1; i++) { if (ProfileManager.XmlLocation.ToLower().Contains(_qdirs[i])) { ProfileManager.LoadNew(Path.Combine(Path.GetDirectoryName(ProfileManager.XmlLocation), "..\\Auto Loader - v2.xml")); _kickz = true; } } if (!_kickz) { ProfileManager.LoadNew(ProfileManager.XmlLocation); } } else { ProfileManager.LoadNew(ProfileManager.XmlLocation); } }
private static void HandleErrorMessage(object sender, LuaEventArgs args) { bool handled = false; if (StyxWoW.Me.Class == WoWClass.Rogue && args.Args[0].ToString() == LocalizedAlreadyPickPocketedError) { if (StyxWoW.Me.GotTarget) { WoWUnit unit = StyxWoW.Me.CurrentTarget; Logging.WriteDiagnostic("[WowErrorMessage] already pick pocketed {0}, blacklisting from pick pocket for 2 minutes", unit.SafeName()); Blacklist.Add(unit.Guid, BlacklistFlags.Node, TimeSpan.FromMinutes(2)); handled = true; } } if (StyxWoW.Me.Class == WoWClass.Druid) { if (LocalizedShapeshiftMessages.ContainsKey(args.Args[0].ToString())) { string symbolicName = LocalizedShapeshiftMessages[args.Args[0].ToString()]; LastShapeshiftFailure = DateTime.Now; Logging.WriteDiagnostic("[WowErrorMessage] cast fail due to shapeshift error '{0}' while questing reported at {1}", symbolicName, LastShapeshiftFailure.ToString("HH:mm:ss.fff")); handled = true; } } if (!handled) { Logging.WriteDiagnostic("[WoWRedError] {0}", args.Args[0].ToString()); } }
public void q14122msg(object sender, LuaEventArgs arg) { if (arg.Args[0].ToString().Contains("Infinifold Lockpick")) { Thread.Sleep(1000); Lua.DoString("CastPetAction(4)"); } if (arg.Args[0].ToString().Contains("Amazing G-Ray")) { Thread.Sleep(1000); Lua.DoString("CastPetAction(1)"); } if (arg.Args[0].ToString().Contains("Kaja'mite Drill")) { Thread.Sleep(1000); Lua.DoString("CastPetAction(5)"); } if (arg.Args[0].ToString().Contains("Ear-O-Scope")) { Thread.Sleep(1000); Lua.DoString("CastPetAction(3)"); } if (arg.Args[0].ToString().Contains("Blastcrackers")) { Thread.Sleep(1000); Lua.DoString("CastPetAction(2)"); } }
private void HandleMS(object sender, LuaEventArgs args) { if ((args.Args[0].ToString() == "Hey! A little help over here!" || args.Args[0].ToString() == "Umm... I think I might need a hand here..." || args.Args[0].ToString() == "If we don't slow down soon, I might pass out." || args.Args[0].ToString() == "Ugh... maybe if you could lightly slap me on the cheek...") && !Me.Dead && Me.QuestLog.GetQuestById(24735) != null && !Me.QuestLog.GetQuestById(24735).IsCompleted&& q24735mob.Count > 0) { Log("Slap 'da bitch!"); while (Me.Location.Distance(q24735mob[0].Location) > 5) { Navigator.MoveTo(q24735mob[0].Location); } WoWMovement.MoveStop(); q24735mob[0].Interact(); StyxWoW.SleepForLagDuration(); } if (args.Args[0].ToString() == "Squire! Please stand next to me as I request the blessing of this Light-blessed spirit." && !Me.Dead && Me.QuestLog.GetQuestById(24706) != null && !Me.QuestLog.GetQuestById(24706).IsCompleted) { Log("Let the idiot get his blessing"); Lua.DoString("PetStopAttack()"); SpellManager.StopCasting(); Me.ClearTarget(); if (!SpellManager.Spells["Freezing Trap"].Cooldown) { SpellManager.Cast("Freezing Trap"); } Thread.Sleep(10000); } }
private void HandleLootClosed(object sender, LuaEventArgs e) { try { if (!TreeRoot.IsRunning) { return; } if (ObjectManager.Me.Combat || ObjectManager.Me.Dead || ObjectManager.Me.IsGhost) { return; } if (Battlegrounds.IsInsideBattleground) { return; } DoCheck(); } catch (Exception ex) { Styx.Helpers.Logging.WriteException(ex); } }
private void handleAuction(object sender, LuaEventArgs args) { if (args.Args[0].ToString().StartsWith("Ihr habt") || args.Args[0].ToString().StartsWith("You won an auction")) { prepareSendMessage(args.Args[0].ToString(), "240534944558874625"); } }
public void ContextChange(object sender, LuaEventArgs args) { talent.Reset(); glyph.Reset(); spell.Reset(); line_cds.Clear(); PlayerAuras.Reset(); PetAuras.Reset(); _class = StyxWoW.Me.Class; //_spec = Me.Specialization; var oldctx = Context; Context = (StyxWoW.Me.CurrentMap.IsArena || StyxWoW.Me.CurrentMap.IsBattleground) ? WoWContext.PvP : WoWContext.PvE; if (Context != oldctx) { SimcraftImpl.Write("Switching to " + Context + " Mode"); } ooc = DateTime.Now; RebuildBehaviors(); }
private void OnUnitSpellCastSucceeded(object obj, LuaEventArgs args) { try { if ((string)args.Args[0] == "player" && (uint)((double)args.Args[4]) == Entry) { // confirm last recipe if (Casted + 1 == CalculatedRepeat) { Confimed = true; } if (RepeatType != RepeatCalculationType.Craftable) { Casted++; } Professionbuddy.Instance.UpdateMaterials(); if (MainForm.IsValid) { MainForm.Instance.RefreshTradeSkillTabs(); MainForm.Instance.RefreshActionTree(typeof(CastSpellAction)); } } } catch (Exception ex) { Professionbuddy.Err(ex.ToString()); } }
public void BossWhisperHandler(object sender, LuaEventArgs arg) { var msg = arg.Args[0].ToString(); var match = _bossWhisperIcons.FirstOrDefault(msg.Contains); _petAbilityIndex = match != null ? (Extensions.IndexOf(_bossWhisperIcons, match) + 1) : 0; }
private void OnBagUpdate(object obj, LuaEventArgs args) { if (_onBagUpdateTimer.IsFinished) { try { lock (tradeSkillLocker) { foreach (TradeSkill ts in TradeSkillList) { ts.PulseBags(); } UpdateMaterials(); if (MainForm.IsValid) { MainForm.Instance.RefreshTradeSkillTabs(); MainForm.Instance.RefreshActionTree(typeof(CastSpellAction)); } } } catch (Exception ex) { PBLog.Warn(ex.ToString()); } _onBagUpdateTimer.Reset(); } }
private void HandlePartyMembersChanged(object sender, LuaEventArgs args) { if (!IsInGroup) { Logging.WriteDebug("You left the group"); haveWeChecked = false; } else if (IamTheTank || LazyRaiderSettings.Instance.NoTank) { Logging.WriteDebug("You are acting as Tank, no leader needed"); haveWeChecked = true; } else if (RaFHelper.Leader == null) { Log("Joined party -- need to find tank"); haveWeChecked = false; } else if (GroupMembers.Contains(RaFHelper.Leader)) { Logging.WriteDebug("Party Members Changed - Tank still in group"); } else { Log("Tank left group, no tank currently"); RaFHelper.ClearLeader(); haveWeChecked = false; } }
private static void GARRISON_MISSION_COMPLETE_RESPONSE(object sender, LuaEventArgs args) { Diagnostic("LuaEvent: GARRISON_MISSION_COMPLETE_RESPONSE "); // Store the success of the mission if (args.Args[1].ToString() == "nil") { Diagnostic("GARRISON_MISSION_COMPLETE_RESPONSE: Received a failure."); } else { if (args.Args[0] == null) { Warning("ERROR: Arg0 null in GARRISON_MISSION_COMPLETE_RESPONSE"); } else { var success = Lua.ParseLuaValue<Boolean>(args.Args[1].ToString()); var mission = MissionLua.GetCompletedMissionById(args.Args[0].ToString()); mission.Success = success; if (success) { CacheCompletedList.Add(mission); } else { mission.PrintCompletedMission(); } } } }
public void SellVenderItems(object sender, LuaEventArgs args) { if (Styx.Logic.Inventory.Frames.Merchant.MerchantFrame.Instance.IsVisible && MIRsettings.Instance.EnableSell) { foreach (WoWItem Items in Me.BagItems) { if (!Items.IsSoulbound) { if (Items.Quality == WoWItemQuality.Poor && MIRsettings.Instance.SellGray) { slog("Selling Gray Item {0}", Items.Name); Items.UseContainerItem(); } if (Items.Quality == WoWItemQuality.Common && MIRsettings.Instance.SellWhite) { slog("Selling White Item {0}", Items.Name); Items.UseContainerItem(); } if (Items.Quality == WoWItemQuality.Uncommon && MIRsettings.Instance.SellGreen) { slog("Selling Green Item {0}", Items.Name); Items.UseContainerItem(); } if (_ItemNameSell.Contains(Items.Name)) { slog("Item Matched List Selling {0}", Items.Name); Items.UseContainerItem(); } } } } }
private void MailboxFinished(object sender, LuaEventArgs args) { if (InventoryCheck == false) { InventoryCheck = true; } }
private static void GARRISON_MISSION_BONUS_ROLL_COMPLETE(object sender, LuaEventArgs args) { Diagnostic("LuaEvent: GARRISON_MISSION_BONUS_ROLL_COMPLETE "); if (args.Args[1].ToString() == "nil") { Diagnostic("GARRISON_MISSION_BONUS_ROLL_COMPLETE: Received a failure."); } else { if (args.Args[0] == null) { Warning("ERROR: Arg0 null in GARRISON_MISSION_BONUS_ROLL_COMPLETE"); } else { var idstring = args.Args[0].ToString(); var mission = CacheCompletedList.FirstOrDefault(m => m.MissionId == idstring); if (mission != null) { mission.PrintCompletedMission(); } else { Log("Unknown mission completed."); } } } }
private static void updateTalentManager(object sender, LuaEventArgs args) { L.infoLog("------------------", C.InfoColor); L.infoLog("Talents changed...", C.InfoColor); initTalents(); printTalents(); }
private static void HandlePartyMemberDisable(object sender, LuaEventArgs args) { // Since we hooked this in ctor, make sure we are the selected CC if (RoutineManager.Current.Name != SingularRoutine.Instance.Name) { return; } WoWPartyMember pm = Unit.GroupMemberInfos.FirstOrDefault(g => g.ToPlayer() != null && string.Equals(g.ToPlayer().Name, args.Args[0].ToString(), StringComparison.InvariantCulture)); string name = "(null)"; string status = "(unknown)"; if (pm == null) { Logger.WriteDiagnostic("Group Member: {0} disabled but could not be found", args.Args[0].ToString()); } else { WoWUnit o = ObjectManager.GetObjectByGuid <WoWUnit>(pm.Guid); name = o.Name; if (!o.IsAlive) { status = "Died!"; } else if (!pm.IsOnline) { status = "went Offline"; } Logger.WriteDiagnostic("Group Member {0}: {1} {2}", pm.RaidRank, name, status); } }
/** * /run local icon, name, quality, bound, numCurrUpgrades, numMaxUpgrades, cost, currencyType = GetItemUpgradeItemInfo() **/ public void OnSetItemUpgrade(object sender, LuaEventArgs args) { List <string> values = Lua.GetReturnValues("return GetItemUpgradeItemInfo()"); int upgradeAmount = Convert.ToInt32(values[4]); int maxAmount = Convert.ToInt32(values[5]); uint cost = Convert.ToUInt32(values[6]); uint currencyType = Convert.ToUInt32(values[7]); SDebug("Event: OnSetItemUpgrade, On Item {4}, amount: {0}, maxAmount: {1}, cost: {2}, currencyType: {3}", upgradeAmount, maxAmount, cost, currencyType, currentItem.Name); if (upgradeAmount < maxAmount) { Lua.DoString("UpgradeItem()"); } else { blacklistedItems.Add(currentItem.Guid); SLog("{0} is fully upgraded, blacklisting item for upgrades. ", currentItem.Name); Lua.DoString("CloseItemUpgrade()"); } }
public static void GARRISON_MISSION_STARTED(object sender, LuaEventArgs args) { GarrisonBase.DebugLuaEvent(String.Format("LuaEvent: {0}", "Garrison Mission Started!")); if (OnGarrisonMissionStarted != null) { OnGarrisonMissionStarted(); } }
public static void HandleDungeonInvite(object sender, LuaEventArgs args) { if (AutoAcceptDungeon) { FTWLogger.log(Color.SandyBrown, "Accepting dungeon invite"); Lua.DoString("AcceptProposal()"); } }
public static void GARRISON_MISSION_LIST_UPDATE(object sender, LuaEventArgs args) { GarrisonBase.DebugLuaEvent(String.Format("LuaEvent: {0}", "Garrison Mission List Updated!")); if (OnGarrisonMissionListUpdated != null) { OnGarrisonMissionListUpdated(); } }
public static void TAXIMAP_CLOSED(object sender, LuaEventArgs args) { GarrisonBase.DebugLuaEvent("LuaEvent: TAXIMAP_CLOSED"); if (OnTaxiMapClosed != null) { OnTaxiMapClosed(); } }
public static void BAG_UPDATE(object sender, LuaEventArgs args) { GarrisonBase.DebugLuaEvent("LuaEvent: BAG_UPDATE"); if (OnBagUpdate != null) { OnBagUpdate(); } }
public static void GARRISON_MISSION_NPC_CLOSED(object sender, LuaEventArgs args) { GarrisonBase.DebugLuaEvent(String.Format("LuaEvent: {0}", "Garrison Mission NPC Closed!")); if (OnGarrisonMissionNpcClosed != null) { OnGarrisonMissionNpcClosed(); } }
public static void GARRISON_SHOW_LANDING_PAGE(object sender, LuaEventArgs args) { GarrisonBase.DebugLuaEvent(String.Format("LuaEvent: {0}", "Garrison Landing Page Shown!")); if (OnGarrisonLandingPageShow != null) { OnGarrisonLandingPageShow(); } }
public void OnUpgradeItem(object sender, LuaEventArgs args) { SDebug("Event: OnUpgradeItem."); SLog("Upgraded item {0}. ", currentItem.Name); Lua.DoString("CloseItemUpgrade()"); }
public static void PLAYERREAGENTBANKSLOTS_CHANGED(object sender, LuaEventArgs args) { GarrisonBase.DebugLuaEvent("LuaEvent: PLAYERREAGENTBANKSLOTS_CHANGED"); if (OnPlayerReagentsBankSlotsChanged != null) { OnPlayerReagentsBankSlotsChanged(); } }
public static void GARRISON_FOLLOWER_LIST_UPDATE(object sender, LuaEventArgs args) { GarrisonBase.DebugLuaEvent(String.Format("LuaEvent: {0}", "Garrison Follower List Updated!")); if (OnGarrisonFollowerListUpdated != null) { OnGarrisonFollowerListUpdated(); } }
public void OnOpenVendor(object sender, LuaEventArgs args) { currentlyCheckingItemUpgrades = true; SLog("Event: InVendor: We got new item to upgrade: {0}. You have enough points + correct gear requirement. Starting procedure.", currentItem.Name); currentItem.PickUp(); Lua.DoString("SetItemUpgradeFromCursorItem()"); }
public static void HandleDungeonDone(object sender, LuaEventArgs args) { // Done with dungeon if (AutoQueueDungeon) { Thread.Sleep(60000); Lua.DoString("LeaveParty()"); } }
private static void HandlePlayerDead(object sender, LuaEventArgs args) { // Since we hooked this in ctor, make sure we are the selected CC if (RoutineManager.Current.Name != SingularRoutine.Instance.Name) return; if (StyxWoW.Me.IsAlive || StyxWoW.Me.IsGhost) return; List<string> hasSoulstone = Lua.GetReturnValues("return HasSoulstone()", "hawker.lua"); if (hasSoulstone != null && hasSoulstone.Count > 0 && !String.IsNullOrEmpty(hasSoulstone[0]) && hasSoulstone[0].ToLower() != "nil") { if (MovementManager.IsMovementDisabled ) { Logger.Write(Color.Aquamarine, "Suppressing {0} behavior since movement disabled...", hasSoulstone[0]); return; } const int RezMaxMobsNear = 0; const int RezWaitTime = 10; const int RezWaitDist = 20; WaitTimer waitClearArea = new WaitTimer(TimeSpan.FromSeconds(RezWaitTime )); waitClearArea.Reset(); Logger.Write(Color.Aquamarine, "Waiting up to {0} seconds for clear area to use {1}...", RezWaitTime , hasSoulstone[0]); int countMobs; do { countMobs = (from u in Unit.NearbyUnfriendlyUnits where u.Distance < RezWaitDist select u).Count(); } while (countMobs > RezMaxMobsNear && !waitClearArea.IsFinished && !StyxWoW.Me.IsAlive && !StyxWoW.Me.IsGhost); if (StyxWoW.Me.IsGhost) { Logger.Write(Color.Aquamarine, "Insignia taken or something else released the corpse"); return; } if (StyxWoW.Me.IsAlive) { Logger.Write(Color.Aquamarine, "Ressurected by something other than Singular..."); return; } if (countMobs > RezMaxMobsNear ) { Logger.Write(Color.Aquamarine, "Still {0} enemies within {1} yds, skipping {2}", countMobs, RezWaitDist, hasSoulstone[0]); return; } Lua.DoString("UseSoulstone()"); StyxWoW.SleepForLagDuration(); } else { } }
private void AuctionPageShown(object sender, LuaEventArgs args) { Lua.Events.DetachEvent("AUCTION_ITEM_LIST_UPDATE", AuctionPageShown); var count = Lua.GetReturnVal<int>("return GetNumAuctionItems(\"list\")", 1); Pages = Convert.ToInt32(Math.Ceiling((double) count/50)); if (_searching) { _searching = false; var results = new PageShownArgs(); PageShown(results); } }
private static void UpdateGear(object sender = null, LuaEventArgs args = null) { EquippedGear.Clear(); for (uint i = 0; i < 18; i++) { var slotInfo = StyxWoW.Me.Inventory.GetItemBySlot(i); if (slotInfo != null) EquippedGear.Add(slotInfo.ItemInfo.Id); } }
public static void PlayerDeadEventHandler(object sender, LuaEventArgs args) { Utils.Log("************************* PLAY-YA DE-EDD"); foreach (object arg in args.Args) { if (!(arg is String)) continue; var s = (string)arg; Utils.Log("*********************[PLAYED DEAD EVENT FIRED]**************************"); Utils.Log(s); Utils.Log("*********************[PLAYED DEAD EVENT ENDED]**************************"); } }
public CombatLogEvent(LuaEventArgs eventArgs) { EventType = eventArgs.EventName; BaseArgs = new CombatLogEventBaseArgs { TimeStamp = Convert.ToInt32(eventArgs.Args[0]), Event = Convert.ToString(eventArgs.Args[1]), SourceUnitId = UnitManager.GuidToUnitId((string) eventArgs.Args[3]), SourceName = Convert.ToString(eventArgs.Args[4]), DestinationUnitId = UnitManager.GuidToUnitId((string) eventArgs.Args[7]), DestinationName = Convert.ToString(eventArgs.Args[8]) }; }
public void BNWhisper(object sender, LuaEventArgs args) { object[] Args = args.Args; string Message = Args[0].ToString(); string presenceId = Args[12].ToString(); string Author = Lua.GetReturnValues(String.Format("return BNGetFriendInfoByID({0})", presenceId))[3]; if (File.Exists(Rarekiller.Settings.SoundfileWisper)) new SoundPlayer(Rarekiller.Settings.SoundfileWisper).Play(); else if (File.Exists(Rarekiller.Soundfile)) new SoundPlayer(Rarekiller.Soundfile).Play(); else Logging.Write(System.Drawing.Color.Red, "Rarekiller Part Alert: playing Soundfile failes"); Logging.Write(System.Drawing.Color.Aqua, "Rarekiller Part Alert: You got a BN Wisper: {0}: {1} - Timestamp: {2}: {3}", Author, Message, DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString()); }
public void CombatLogHandler(object self, LuaEventArgs args) { if (CombatLogEvent.GetEvent(args) != "SPELL_CAST_SUCCESS") return; //Log.GUI(string.Format("0:{0}, 1:{1}, 2:{2}, 3:{3}, 4:{4}, 5:{5}, 6:{6}, 7:{7}", // args.Args[0], args.Args[1], args.Args[2], args.Args[3], args.Args[4], args.Args[5], args.Args[6], args.Args[7])); var combatLogEvent = new SpellCastSuccess(args); if (combatLogEvent.SpellName != "Rake" || combatLogEvent.BaseArgs.SourceUnitId != Me.GetUnitId()) return; if (MyCurrentTarget != null && (MyCurrentTarget.GetUnitId() == combatLogEvent.BaseArgs.DestinationUnitId)) { // Added this routine to catch instances of rake casts that the user may have initiated so that rolling // bleed modifiers are properly applied. SnapshotManager.Instance.AddRakedTarget(MyCurrentTarget, true); } }
// ACTIVE_TALENT_GROUP_CHANGED Event - Complete 08/08/2012 - CoDeRs (IMO) public void ACTIVE_TALENT_GROUP_CHANGED(object sender, LuaEventArgs args) { try { try { string sCommandCheck = SQLConnector.SendJSON("[{\"TAB\":\"TABToons\"},{\"nToonId\":\"" + WatchMyToon.nToonId + "\"},{\"szCurrentSpec\":\"" + UnitFunctions.getSpec() + "\"}]", "{\"Query\":\"Update\"}", "{\"Limit\":\"0\"}"); Logging.Write(LogLevel.Verbose, Colors.Orange, "[WatchMyToon] - Talent Update Report: " + sCommandCheck); } catch (Exception ex) { Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - ACTIVE_TALENT_GROUP_CHANGED SQL Failed!"); Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex); } } catch (Exception ex) { Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - ACTIVE_TALENT_GROUP_CHANGED LUA Failed!"); Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex); } }
private void HandleLootClosed(object sender, LuaEventArgs e) { try { if (!TreeRoot.IsRunning) return; if (ObjectManager.Me.Combat || ObjectManager.Me.Dead || ObjectManager.Me.IsGhost) return; if (Battlegrounds.IsInsideBattleground) return; DoCheck(); } catch (Exception ex) { Styx.Helpers.Logging.WriteException(ex); } }
// Parses the current battle round from a log event as there // is no other way to get it from the game public static void LuaMessage(object sender, LuaEventArgs args) { string msg = args.Args[0].ToString(); string regex = ""; switch(_locale) { case "frFR": case "esES": case "esMX": case "itIT": case "koKR": case "ptBR": case "ruRU": case "zhCN": case "zhTW": break; case "deDE": regex = @"Runde\s(\d*)"; break; case "enGB": case "enUS": default: regex = @"Round\s(\d*)"; break; } if(regex == "") return; Match match = Regex.Match(msg, @"Round\s(\d*)"); if (match.Success) { string roundStr = match.Groups[1].Value; int round = Convert.ToInt32(roundStr); Battle.SetRoundFromLog(round); } }
private static void HandleCombatLog(object sender, LuaEventArgs args) { var e = new CombatLogEventArgs(args.EventName, args.FireTimeStamp, args.Args); //Logger.WriteDebug("[CombatLog] " + e.Event + " - " + e.SourceName + " - " + e.SpellName); switch (e.Event) { case "SPELL_AURA_APPLIED": case "SPELL_CAST_SUCCESS": if (e.SourceGuid != StyxWoW.Me.Guid) { return; } // Update the last spell we cast. So certain classes can 'switch' their logic around. Spell.LastSpellCast = e.SpellName; //Logger.WriteDebug("Successfully cast " + Spell.LastSpellCast); // Force a wait for all summoned minions. This prevents double-casting it. if (SingularRoutine.MyClass == WoWClass.Warlock && e.SpellName.StartsWith("Summon ")) { StyxWoW.SleepForLagDuration(); } break; case "SPELL_MISSED": if (e.Args[14].ToString() == "EVADE") { Logger.Write("Mob is evading. Blacklisting it!"); Blacklist.Add(e.DestGuid, TimeSpan.FromMinutes(30)); if (StyxWoW.Me.CurrentTargetGuid == e.DestGuid) { StyxWoW.Me.ClearTarget(); } BotPoi.Clear("Blacklisting evading mob"); StyxWoW.SleepForLagDuration(); } break; } }
private void GuildInvite(object sender, LuaEventArgs e) { // Our Var's string GuildName; int GuildLevel; GuildName = e.Args[1].ToString(); GuildLevel = Convert.ToInt32(e.Args[2]); if (GuildLevel >= LevelToJoin) { Write("Accepting - Guild Name: {0} Guild Level: {1}", GuildName, GuildLevel); Lua.DoString("AcceptGuild()"); } else { Write("Declining - Guild Name: {0} Guild Level: {1}", GuildName, GuildLevel); Lua.DoString("DeclineGuild()"); } Lua.DoString("StaticPopup_Hide(\"GUILD_INVITE_REQUEST\")"); }
internal static void LootOpened(object sender, LuaEventArgs args) { GarrisonButler.Log("[Loot] Opened"); var currenPoi = BotPoi.Current.AsObject as WoWGameObject; if (currenPoi != null && currenPoi.IsValid) { var lootHash = currenPoi.Guid.GetHashCode(); if (LootHash != lootHash) { GarrisonButler.Log("[Loot] Looting {0}.", currenPoi.Name); LootCount = 0; LootHash = lootHash; } else { GarrisonButler.Diagnostic("[Loot] Looting frame of {0} opened for the {1} time.", currenPoi.Name, LootCount); LootCount++; } if (LootCount > MaxLootCount) { GarrisonButler.Warning("[Loot] Tried to loot {0}, {1} times => blacklisting.", currenPoi.Name, LootCount); Objects.Blacklist.Add(currenPoi); } } //var lootFrame = LootFrame.Instance; //if (lootFrame != null) //{ // for (int i = 0; i < lootFrame.LootItems; i++) // { // GarrisonButler.Diagnostic("[Loot] Found LootName {0}.", lootFrame.LootInfo(i).LootName); // GarrisonButler.Diagnostic("[Loot] Found LootIcon {0}.", lootFrame.LootInfo(i).LootIcon); // GarrisonButler.Diagnostic("[Loot] Found LootQuantity {0}.", lootFrame.LootInfo(i).LootQuantity); // GarrisonButler.Diagnostic("[Loot] Found LootRarity {0}.", lootFrame.LootInfo(i).LootRarity); // GarrisonButler.Diagnostic("[Loot] Found Locked {0}.", lootFrame.LootInfo(i).Locked); // } //} LootIsOpen = true; }
// ACHIEVEMENT Event - Complete 08/08/2012 - CoDeRs (IMO) public void ACHIEVEMENT_EARNED(object sender, LuaEventArgs args) { try { List<string> achievementInfo = Lua.GetReturnValues("return GetAchievementInfo(" + args.Args[0].ToString() + ")"); try { string sCommandCheck = SQLConnector.SendJSON("[{\"TAB\":\"TABAchievements\"},{\"nToonId\":\"" + WatchMyToon.nToonId + "\"},{\"nAchievLfd\":\"NULL\"},{\"szAchievId\":\"" + achievementInfo[0] + "\"},{\"szAchievName\":\"" + achievementInfo[1] + "\"}]", "{\"Query\":\"Insert\"}", "{\"Limit\":\"0\"}"); Logging.Write(LogLevel.Verbose, Colors.Orange, "[WatchMyToon] - Achievement Update Report: " + sCommandCheck); } catch (Exception ex) { Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - ACHIEVEMENT_EARNED SQL Failed!"); Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex); } } catch (Exception ex) { Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - ACHIEVEMENT_EARNED LUA Failed!"); Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex); } }
public static void CombatLogEventHander(object sender, LuaEventArgs args) { foreach (object arg in args.Args) { if (arg is String) { var s = (string)arg; //if (s.Contains("Crab")) Utils.Log("CRAB-EH!",Color.Red); if (s.Contains("EVADE")) { if (Me.GotTarget) { Logging.Write("My target is Evade bugged, blacking " + CT.Name,Color.Red); Target.BlackList(3600); Lua.DoString("StopAttack() PetStopAttack() PetFollow()"); StyxWoW.Me.ClearTarget(); } } } } }
public static void HandleErrorMessage(object sender, LuaEventArgs args) { var errorMessage = args.Args[0].ToString(); //var localizedAlreadyPickpocketed = Lua.GetReturnVal<string>("return ERR_ALREADY_PICKPOCKETED", 0); /* if(!errorMessage.Equals(localizedAlreadyPickpocketed)) { return; } */ /* if(errorMessage.Equals(localizedNoPockets)) { var noPocketMob = new Blacklist.BlacklistEntry { Entry = PickPocketTarget.Target.Entry, GUID = PickPocketTarget.Target.Guid, Name = PickPocketTarget.Target.Name, Elite = PickPocketTarget.Target.Elite, Comment = "No pockets (auto added)." }; BlacklistSettings.Instance.BlacklistedUnits.Add(noPocketMob); BlacklistSettings.Save(); } else { PickPocketTarget.AddToPickPocketedBlacklist(); } ClearAllTargetData(); */ }
public void recievedWhoList(object sender, LuaEventArgs args) { List<string> whoNumAmounts = Lua.GetReturnValues("return GetNumWhoResults()"); int shownWhos = Int32.Parse(whoNumAmounts[0]); totalWhos = Int32.Parse(whoNumAmounts[1]); for (int i = 1; i <= totalWhos; i++) { List<string> whoInfo = Lua.GetReturnValues("return GetWhoInfo(" + i + ")"); if (whoInfo[1].Length <= 0) { Persons curPerson = new Persons(); curPerson.name = whoInfo[0]; curPerson.level = Int32.Parse(whoInfo[2]); if (!allPersons.ContainsKey(whoInfo[0])) { allPersons.Add(whoInfo[0], curPerson); writePerson(curPerson); } } } Lua.DoString("ToggleFriendsFrame(2)"); improveSearch(); }
void OnUnitSpellCastSucceeded(object obj, LuaEventArgs args) { try { if ((string)args.Args[0] == "player" && (uint)((double)args.Args[4]) == Entry) { // confirm last recipe if (Casted + 1 == CalculatedRepeat) { Confimed = true; } if (RepeatType != RepeatCalculationType.Craftable) Casted++; Professionbuddy.Instance.UpdateMaterials(); if (MainForm.IsValid) { MainForm.Instance.RefreshTradeSkillTabs(); MainForm.Instance.RefreshActionTree(typeof(CastSpellAction)); } } } catch (Exception ex) { Professionbuddy.Err(ex.ToString()); } }
// UPDATE_FACTION Event - Complete 08/08/2012 - CoDeRs (Would like to make this less "work") public void UPDATE_FACTION(object sender, LuaEventArgs args) { try { try { UnitFunctions.updateReputations(); } catch (Exception ex) { Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - UPDATE_FACTION SQL Failed!"); Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex); } } catch (Exception ex) { Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - UPDATE_FACTION LUA Failed!"); Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex); } }
// UNIT_POWER Event public void UNIT_POWER(object sender, LuaEventArgs args) { try { try { if (args.Args[0].ToString() == "player") { string sCommandCheck = SQLConnector.SendJSON("[{\"TAB\":\"TABToonsDetail\"},{\"nToonId\":\"" + WatchMyToon.nToonId + "\"},{\"szPowerType\":\"" + StyxWoW.Me.PowerType.ToString() + "\"},{\"szPower\":\"" + StyxWoW.Me.PowerPercent.ToString() + "\"}]", "{\"Query\":\"Update\"}", "{\"Limit\":\"0\"}"); Logging.Write(LogLevel.Verbose, Colors.Orange, "[WatchMyToon] - Power Update Report: " + sCommandCheck); } } catch (Exception ex) { Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - UNIT_POWER SQL Failed!"); Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex); } } catch (Exception ex) { Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - UNIT_POWER LUA Failed!"); Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex); } }
// ZONE_CHANGED_INDOORS Event public void ZONE_CHANGED_INDOORS(object sender, LuaEventArgs args) { try { UnitFunctions.updateCurrentPosition(); } catch (Exception ex) { Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - ZONE_CHANGED_INDOORS LUA Failed!"); Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex); } }
private static void HandleCombatLogPvP(object sender, LuaEventArgs args) { var e = new CombatLogEventArgs(args.EventName, args.FireTimeStamp, args.Args); switch (e.Event) { case "SPELL_CAST_SUCCESS": //Logging.Write(LogLevel.Diagnostic, "Debug: {0} SPELL_CAST_SUCCESS {1} - {2} - {3} - {4} - {5}", // e.SourceName, e.SpellName, // e.SpellId, e.Timestamp, e.FireTimeStamp, e.DestName); if (!IsEnemy(e.SourceUnit)) { return; } if ((e.SpellId == 60192 || e.SpellId == 1499)) { Logging.Write(LogLevel.Diagnostic, "Found Hunter Drop {0} - {1}", e.SpellName, e.SpellId); LastTrapEvent = DateTime.Now; } if (InterruptSpellHS.Contains(e.SpellId)) { Logging.Write(LogLevel.Diagnostic, "InterruptonCooldownUnit Add {0} - {1} - {2} - {3} ", e.SourceUnit.SafeName, e.SpellName, e.SpellId, InterruptSpellCooldown(e.SpellId) - 1000); if (e.DestGuid == MeGuid) { Logging.Write(LogLevel.Diagnostic, "Incoming SPELL_CAST_SUCCESS {0} - {1} Stop Casting", e.SpellName, e.SpellId); if (!MeHasAura(131558)) { SpellManager.StopCasting(); } } InterruptonCooldownUnitAdd(e.SourceUnit, InterruptSpellCooldown(e.SpellId) - 1000); } break; //case "SPELL_CAST_START": // Logging.Write(LogLevel.Diagnostic, "Debug: {0} SPELL_CAST_START {1} - {2} - {3} - {4} - {5}", // e.SourceName, // e.SpellName, // e.SpellId, // e.DestName, // e.DestGuid, // e.DestGuidStr); // //if (InterruptSpellHS.Contains(e.SpellId) && // // IsEnemy(e.SourceUnit)) // //{ // // InterruptonCooldownUnitAdd(e.SourceUnit, InterruptSpellCooldown(e.SpellId - 1000)); // // if (e.SourceUnit.CurrentTarget != null && // // e.SourceUnit.CurrentTarget == Me && // // !MeHasAura(131558)) // // { // // Logging.Write(LogLevel.Diagnostic, "Incoming SPELL_CAST_START {0} - {1} Stop Casting", // // e.SpellName, e.SpellId); // // SpellManager.StopCasting(); // // } // //} // break; } }
private static void HandleEndBoundTradeable(object sender, LuaEventArgs args) { //Lua.DoString("EndBoundTradeable(" + args.Args[0] + ")"); }
// ZONE_CHANGED_NEW_AREA Event public void ZONE_CHANGED_NEW_AREA(object sender, LuaEventArgs args) { try { if (WatchMyToon.bIsInLoadingScreen) { WatchMyToon.bIsInLoadingScreen = false; Logging.Write(LogLevel.Normal, Colors.LightBlue, "[WatchMyToon] - Player Entered Zone From Loading Screen!"); } UnitFunctions.updateCurrentPosition(); } catch (Exception ex) { Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - ZONE_CHANGED_NEW_AREA LUA Failed!"); Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex); } }
// BagUpdate Event public void BagUpdate(object sender, LuaEventArgs args) { try { if (WatchMyToon.bIsLootClosed == true) { try { string sCommandCheck = SQLConnector.SendJSON("[{\"TAB\":\"TABToonsDetail\"},{\"nToonId\":\"" + WatchMyToon.nToonId + "\"},{\"nFreeBagSlot\":\"" + StyxWoW.Me.FreeBagSlots + "\"},{\"nTotalBagSlot\":\"" + UnitFunctions.getTotalBagCount() + "\"}]", "{\"Query\":\"Update\"}", "{\"Limit\":\"0\"}"); Logging.Write(LogLevel.Verbose, Colors.Orange, "[WatchMyToon] - Bag Update Report: " + sCommandCheck); } catch (ArgumentException ex) { Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - BagUpdate SQL Failed!"); Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex); } } } catch (Exception ex) { Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - BagUpdate LUA Failed!"); Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex); } }