diff --git a/FreshShit/Spotter/event.lua b/FreshShit/Spotter/event.lua new file mode 100644 index 0000000..a4d4d85 --- /dev/null +++ b/FreshShit/Spotter/event.lua @@ -0,0 +1,24 @@ +-- NAME_PLATE_UNIT_ADDED NAME_PLATE_UNIT_REMOVED +function(event, unit) + local name = UnitName(unit) + if name and UnitIsPlayer(unit) then + local race = UnitRace(unit) + local doNotify = true + if aura_env.config.allyOnly then + doNotify = false + if aura_env.raceMap[race] == "Alliance" then + doNotify = true + end + end + -- Stinkies overwrite allyOnly + if aura_env.config.stinkyOnly then + doNotify = false + if WeakAurasSaved.Cyka.stinkies[name] then + doNotify = true + end + end + if doNotify then + aura_env.NotifySpotted(name, race) + end + end +end \ No newline at end of file diff --git a/FreshShit/Spotter/export b/FreshShit/Spotter/export new file mode 100644 index 0000000..a43dcd3 --- /dev/null +++ b/FreshShit/Spotter/export @@ -0,0 +1 @@ +!fJrdVjUn0FlRtNgvRf1spDtt6UTrBPxldcCnPTsxvdXK4a(QXMz70wUPl)23Z25lGuGDAstGGe733p)(Wp)J998DN57gP)cpYtuucd77o4gVEx50X3nMZuUKVI9DoULVlkrnLlgmxr4mjGGJHaQfZbuu8jtOW)js85yzO)yF3hXlaCO0fdyu4PiCmkHQ07WqZaqBtPeeleNgWba(DF3NjrQPAQQ8DAToPn0tQiShZOyfEzPORzZc6vHJvj9jAsNTqRCMqyZtuLO4cgg4FIXEKRlFLRnoumBIHwhLZ2pBwhKME2TgdCrtlICofTWd)c8YBM77UyqCSedsaGPapbSIEwf0aXZCr0Dcea3Dfp9sfmc5uUWA11FBz(9eZVV1QzUHjsfFMMH3mpcPasJFcZugphFgsrcVZO2UTH3HvdZ9KGzfjuWdaSXegro1(m8OEv3i(ilT9pnNlGHGhIOPbHtrmgMEvuAWhsdyeAA30UhE4H)rifjLPb9XsjAc2UwmbtbaNLTwGujiSjlTxg9QDpqPqLBy3s7)k4Y9pK2fLiqJWSNAMXLpLGtWgH7V)2YiPqJP43Bj3b5093Qqbbke3hn3ImGBG9Z97nqeU3dML37sWBH37GQ7EdlcJI2aaEahWSnbGGtPBy)tPCoyp6qJ3aqFKpgo)UbaUmzgQy)8WXLb58NrI4ndIdzYu1sYs9W9rgFgElCtGWmmzZabHhtWBrSVnHohlqBq3ns9yUGH3aqFgXIquKGKgSnpYFMahz9iITAqrIhtdUsWzPb7GX9wojAhST90AtS2WaqVtwX(yiqBY2Dj9rt(PPirAWAh5t7MfoLgC2LTDC60lnioj8rSyrA3LtoyqRiQkKZIjtAwShhO(EXC(yKyVcmNdjp0Pe3eQdZHPBbAXjmtwT0GliSObIUCc7ml0nYWYbsAFqjd2VuBxJgFeRolp9wv0RGZk4MbK0MYOe)EePQX(FBD8I1ApXa(XGu9J5eaEUfKWJVogRWrI1eLJ39Kh2kk6YwRGuAWpdcWgqLexGxjIoMfutXSxhX8pcSkrWmY7RclMvZMlTO9LIxxU4Zo4UmQbxTeM1l)ZHIbQg2AcnbVeu)SXEfNzFJmJoX8ewe4S(cCqdGecEQAC2VMtkArO809MnE6JVdXaVzqD8D(CCHXIkXF)0E)DYv896iYpouIyxdbxMqVAq8Yk(29vcSKtFsNDuXTXmVjQIV6GkcI2NLfOO74R2eqMnkZ6OMk4kff7rMHf1Iqoe2SDhF0AOw0MrrpkZrc0mqnHEiXcBKw1wIY2w3IYYBKBznTIvihoCfjEH7CGzyRTnpnxJsoCGLERNsKXFo3XQ1XgRdrvtGb0kk29LC4bRb4OvJibYF4Qe59RzyRpyjtHR)G5RkgFWY2URPjBZPVAMel81lAf0cmC6RjO7nhmEbnBcL8mF1pbB6MmUY(Vw6UmjSO95LBlDLyrBT6SsZvlQN)X2n9hQC0VgGQYRvcWUcwbJTXxiL()FqhsT0XjTbOI(uPaOP57MeMelunUdJESnyULUiiiT5zlEe1SFL23pOqq2plpH9owGanzcwu52O2fkV9y(TvKjJnxgYnjoM8IV7OZA76nY1R91Efxt6smIQVEuoSdfydSUd70RN(YHJbKT3z7Yo9gEXnWIj6Ri5A15sUPBkYPD)oJg2RTxNr34CL3O2NFENZxF5R70FWTWgDlIhn8g0ynPRjumV49nW2ARCJvGRSsn09QfSRKdncygOVYH1mgyZOKXGRHxwLbRaFe3MBXg1lsW1xYB1OP8jdSTsGlr(y0glPTeFYU8296)FW22szpU7Axl7GYT7nVK)rF6WmRccgcD4pHfplikTdl3MStwWYzH8FTnSUWrzMaFpZM)8)r7Nwelj8MfK6la2GvB1UxVphBohZaFK2zJyd1hzZYKLarohtH0Ozqywu67(VlrqbLNsI0dhcQ8fPPwcRm3Mj3NE8npH9Sl2Nda7C4Xhz2HfoLlgcDnbVCwhhVoxRNLJclyi6Tq6silJVtR357(fGvGvX3TxNl0JbctJZq70bEEd6dOfb5)mgnD6nolIKp0i9SIGwqWqoxOqIo)BgJVqVQnnP7zx3PJJEgEHpLZ3F5OtoYmpl9Hy7WNkMP34ktm808jUz4exluxiiFnn4tjOiHP2LNNjz91MHPLjtigrpQlGtvMRLBeCmqVyM)sI1QImVibtZha3zicB3HUysz7g8gmEbhDx2Oh1gbkhzg9kCWj0mnw9qhZDWMbOT2Qs98yxzr9XdTJQ)DdKp)RZ(Ro9xya13TvZJFxZt8DFc8pVTLEkH()d \ No newline at end of file diff --git a/FreshShit/Spotter/init.lua b/FreshShit/Spotter/init.lua new file mode 100644 index 0000000..ea09641 --- /dev/null +++ b/FreshShit/Spotter/init.lua @@ -0,0 +1,93 @@ +local channelId = nil + +---@class Message +---@field message string +---@field channel string +---@field data string + +---@type Message[] +aura_env.messageQueue = {} + +---@type table +aura_env.raceMap = { + ["Orc"] = "Horde", + ["Undead"] = "Horde", + ["Tauren"] = "Horde", + ["Troll"] = "Horde", + ["Blood Elf"] = "Horde", + ["Goblin"] = "Horde", + ["Human"] = "Alliance", + ["Dwarf"] = "Alliance", + ["Night Elf"] = "Alliance", + ["Gnome"] = "Alliance", + ["Draenei"] = "Alliance", + ["Worgen"] = "Alliance", + ["Vulpera"] = "Horde", + ["Nightborne"] = "Horde", + ["Zandalari Troll"] = "Horde", + ["Kul Tiran"] = "Alliance", + ["Dark Iron Dwarf"] = "Alliance", + ["Void Elf"] = "Alliance", + ["Lightforged Draenei"] = "Alliance", + ["Mechagnome"] = "Alliance", + ["Mag'har Orc"] = "Horde" +} + +-- CHANNEL fuckery +local channel = aura_env.config.channel or "foobar" +local password = aura_env.config.channelPassword + +local function FindOrJoinChannel(channelName, password) + local function GetChannelId(channelName) + local channels = {GetChannelList()} + for i = 1, #channels, 2 do + local id = channels[i] + local name = channels[i + 1] + if name == channelName then + return id + end + end + end + + channelId = GetChannelId(channelName) + if not channelId then + print(string.format("channel %s not found, joining", channelName)) + if password then + JoinPermanentChannel(channelName, password) + else + JoinPermanentChannel(channelName) + end + end + channelId = GetChannelId(channelName) + return channelId +end +channelId = FindOrJoinChannel(channel, password) +print(string.format("channel %s resolved to id %d", channel, channelId)) +local zone = aura_env.config.zone + +local throttleTimer = aura_env.config.throttle or 10 +local throttleMap = {} + +---@param playerName string +---@param race string +---@return nil +aura_env.NotifySpotted = function(playerName, race) + local now = GetTime() + local throttleTime = throttleMap[playerName] or 0 + if now - throttleTime < throttleTimer then + return + end + throttleMap[playerName] = now + + local zone = aura_env.config.zone + if not zone then + zone = GetZoneText() .. " " .. GetSubZoneText() + end + + local message = { + channel = "CHANNEL", + data = channelId, + message = string.format("I see %s at %s!", playerName, zone) + } + table.insert(WeakAurasSaved.Cyka.MessageQueue, message) +end \ No newline at end of file diff --git a/FreshShit/_Shared/Messenger_Export b/FreshShit/_Shared/Messenger_Export index 4df20ed..f316e00 100644 --- a/FreshShit/_Shared/Messenger_Export +++ b/FreshShit/_Shared/Messenger_Export @@ -1 +1 @@ -!DEvBVjooq4)l90kr1vqaT3EF6KowU03oAGwNE9dRotCtCaVnyJIDy3Uvn)2VzStGqGULBvRGKXZZ8(mEG2JgqjlOKy8F4rvUjvi5uY47dgDLVhLKOKgI47CQFV(ucl3mxLnEPrOKAaGVvaMNxcqeYL5gkjxZ)lUoI(iL8vrSzoYdjMNWYtHtbTbFlSkb4qYwaihoNjL80IqF7RPC5mlUUuYt8NPKi35wzpYD4Jud1V))BL3qFtyA9xvzXBRNnuRBjBz3BBiGOJf6LPSNd4FdE5dlPKNhNKO5GrcqzYiiQnrjKWHd98d8UdjkwWW4i6eAdlZGpeNNzjo15wAEKsgRR8sPcupiJfmH8W5orif65hm)aIivQkZLEX)7B)8u7NNHFcS8TA(xuU2OwG((9lJzgqu8vC0xHYff6KrpytgKbW7a1OQYN1(DDR0GztHlAOM6Kn9tvAbskQigK7sYLw5ueEUqgpo7Ai8wMyBvMiXYPtkcxwMppU46Iq3F7iJl4MsWxfxhEnmnWwYKUi8pkcFzd(rcTP1XVUlUevwrOWYEpWQ(Lkbap3VimwTlIgAueBbxH7ZI)9DHG17nave(RGb8dGkswJBdqFlbZCU8Tbw9xg3KNjT27BYlxUNd3IO7L1VgvLDSUZbKUSUHYSfY9B)lZGgZwAd81SoqwcQyBDuu1mIpOlLtIkxgdjRVafAaNhDYwbNJ3tLcAcvfFVxWdlFNWbDlHoNdUoEDWkvZ)5L9XhuQ4NnruvoSb41wbYGHrt5YvD2wI72n3Kriu0K0KnHM2TxFOWWH5DyBhi3U4rpWzpnaowtyR4XDg(8tSo3W1A2m(T58CxVYlVIS2ODTx3UUM02TRCmd7XuEhHuZZmTEpjdI4L6GBeoT65OHxoW33BeuAThoHjRmlB7g42l)lCA3j5apsWrfHD6G(unMF1gXk71Cd)H(GzZ4z1UE3ryZLTvtI15pAh0tYtseFJsMoCajykjyWDbRVc4solfh9xX7KmULxYeVrJW7MFeahyf7LEJMC(9aXCC8pbVpf0QtqWLubxn8V9UBA)UDD3JRD3v4mMYB0kvALbI(zjmi)bvavd8BTVbf7jfw21U)JCLkB3D8JewJkT3uY7TISXeZ1p1UD7)e99IWsu7Cjx96G3tBFU(fdOVSbmGwksRm7QM63WQCTgz8fQv8dP1OxT8bbKj06BkzPvPj0P87twBu1Mhawwn6yNYX2PmqD3sEk0HSDXYCrmuSyel4Xi1C5MsCBlaUHYkEGJ4nkGz)2WoGWjz8zq5JRE1yx2dU7GNjzP)d0YGBZ53)JuYxa9isGvkh5Do0lGJMEiJbRf(W6NeGXHUiSgjwLdnf8y3As(2s8KmOgh69aFXUfRBjYZrQo1tgENNNpUfxAs5ULFACqW4BClTtjNNj(Er4T5S4m7OJGaCZozIyg2kVEP6bZC9mnx(LH0pRp61qZ7DwhVmmAurRQC3FV7PO5IBskmByjvXS)Ici(hz)rg46ZvX3Ouql7qvJ)mJgeXSdgPE6IBJ4l(Te9felRus)o9(yNtPKvq05S(4oP0)7 \ No newline at end of file +!DEvBVjooq4)l90kr1vqaDV9(0jDD5sF7ObAD61pS6mXK4aEBWgf7W2Uvn)2VzStGqGULBvRGKXZZ8(mEG2JgqjlOKy8F4rvUjvi5uYO7dgELVhLKOKgI47CQFV(uIrfTINPfkj1)37EA3Uucl3mxLnAPbiQbz4BLP55LGueYL5gkjxZ)lUoIoLs(Mi2mh5HeZty5PWPuIKTayEWCMuYtlc9TV(i)zkjYrJss5YzwGGgxaWewZCQv2dDNnLAO(9)FR866zmtR)MklUHoQR8g26geBBiGOJf6LPSNd4pbV8HLuYZJss0CWibXKXNbXRaRHASCWKIfmmiIEG2WYm4dX5zwItC(KMhPKX6kxuQadeWUGjKho3jcPqp)G5hqePsvzUCl(FF7NNA)8J4Nil5AJAb6S3VmMza48vCPXwFOqhl6bB0NCg8oqnQQEzTVw3Ymy6t4IaQjozt)CLwGmIkIbr)KCPvofHNlKXJYUwjKLPMwLPuSy6KIWLL5PJlUUi093oY4cUPe8vX1HxdtdSLmPlc)JIWx2GFOqBAD8R7IlrLvekSS3dSQFPsaWZ9lcJv7IOHgfXwWv4(I4FFxiyfBdqfH)kya)aOIK142a03sWmNlFBGv)LXn5zsR9(M8YL75WTi6Ez9RrvzhR7CaPlRBOmBHC)2)YmH00sBGVM1bYsqfBRJIQ6Y)GUuojQCzmKS(kuObCE0jBfCoEpvkOjuv89EbpS8Dmh0Te6Co4641bRun)Nx2hFqPIF2erv5WgGxBfidganHlx1zBjUB3CtgHqrtsJ3eAA3E9HcdhMXHTDGC7Ih9aN94zWXAcBfpUZGNFK15gUwZMXVnNN76vE5vK1gTR96211K2UDLJzytt5DesnpZ069KmiIxQdUr40QNJgC5z((EdHsR9WjmzLzzB3a3E5FHt7ojh4rcoQiSth0NQX8R2iwzVMBGp0hmBgCr)M7ZDe2C7A1KyD(u7GEsEsI4jkzYGZibtibNDxW6RaUKZsXr)v8ooJB5Lm2B4q8Y4Pay3DHx6nC853deZXX)e8cuqRobbxmfC1G)27UjqIO8QyT7YcN1uEnwPwRSq0rlX1hsGxxnWV1(guSNuyzx7(pYvQSD3XpsynQ0EtjV3kYgtmx)u72T)t01lclrTZLC1RdEpT9L6xmG(YgWaAPiTYSRAQFdRY1AKXxOwXpKwJE1YheqMqRVPKLwLMqNYVpzTrvBEayz1OJDkhBNYa1Dl5PqhY21kZfX4UxIf8yKAUCtjUTfa3qzfpWr8gfWSFBybq7MArWgVJHPtWld88d8Udxxbg0izP)t16X9)eL8vqvIey)YHENdTd40PhYyWQGpS(jbyFOxcRoIf6qFbp2TPKFFSipjdQYH2pWDSBU6u(5ivxhdzWDEE(uYt12UexANsopt89IWBZzXz2XgbGjKJ67XlUnIV43s0xqSnL3zxgTm8O5PjL(2Nhfem6gC9pzSWSHLufZ(RfG4AK9hqGllxf3IsH5W7qvJ)eIgeTlwkteZWdwVPFIsnLLTNvY71)0szrj9707tDoLswbXKp2hxaL(Fd \ No newline at end of file