NOTE: Getting lots of false positives? Please upgrade to version 1.10b or higher, I made a mistake while messing with 1.10's detection code... sorry!
PEPA 1.11 is almost finished! Sorry for the month long delay, I took a break from WoW and coding, but I've started again and work on 1.11 is almost complete, and it's the biggest update I've made so far. A lot of the new features I've put in were requested by users, so keep sending in suggestions and requests. Also, the new version includes a Spanish localization by Miros, a Simplified Chinese localization by www.wowui.cn, and a machine translated German localization.
Want to try out the 1.11 beta? Betas of the next version of Paranoia are available over at WoWAce.com. Use the Betas link in the right hand box, and scroll to the bottom of the list to download the latest beta version of Paranoia. Please note that Paranoia 1.11 is a work in progress, so you may experience bugs and errors. If you find any please feel free to report them to me via private message or email (see below).
Translations Needed
Paranoia EPA v1.10 includes support for localization. However, I only have one translation currently (frFR by Minihunt), so I'd really really appreciate it if some people could help me out by sending translated versions of localization-xx.lua! If you want to help, just open up the localization-en.lua file in the Paranoia folder and translate the text. You can send a translated version of the file to lifetapt [at] gmail [dot] com. Thanks! Current Translations
-frFR localization by Minihunt.
About Paranoia
Paranoia is a WoW addon by Lifetapt (originally by rmet0815) that attempts to detect enemy players of the opposite faction near you. The addon detects enemies by registering to the COMBAT_LOG_EVENT_UNFILTERED event and searching for any events that are triggered by units with flags 0x548 (player-controlled characters outside of your group that are hostile to you).
In simpler terms, Paranoia looks at every incoming combat log event, and if it finds any event caused by a player on the opposite faction -- including hits, misses, dodges, spellcast starts/successes, buff gains, debuff gains, tradeskills, or kills (for example, "Lolrouge gains Stealth", "Allipwnr begins casting Fireball", or "Hurrdurr begins Mining") -- it will warn you of their presence by playing an alert sound and displaying a large, red "Hostile player detected!" message on-screen that will fade out after a certain number of seconds. In addition, Paranoia will try to guess the hostile player's class and minimum level using the spell or skill they use (for example, if a hostile is detected using Death Coil they will be detected as a Warlock with a minimum level of 42). Paranoia will color the names of units in its enemy list by their class (if known), and units who have not been active recently will start to gradually fade out, allowing you to quickly determine which hostile is a bigger threat if there are multiple units in the enemy list.
Once an enemy is detected, you can easily target the enemy by clicking on their name in the Paranoia enemy list, analyze the situation, and decide whether you want to run/stealth/hide or engage the enemy. While Paranoia is intended to prevent hostiles from sneaking up on you and ganking you, it's also great for sneaking up on others and ganking them!
Since there are places where knowledge of nearby enemy players is not needed or wanted, Paranoia can be configured (and is by default) to disable itself in Battlegrounds, Arenas, free-for-all zones such as Nagrand Arena and Gurubashi Arena, and sanctuaries such as Shattrath City and the Stair of Destiny.
You can enable or disable the warning sound, alert popup message, and the enemy list and only use whatever features you want. You can change the border opacity and panel opacity of the enemy list, and also lock the enemy list in place, which will cause it not to intercept mouse clicks. The location of the alert popup can be moved anywhere on the screen, and the display duration and fade-out duration can be changed from anywhere between zero and six seconds.
Just install the addon as usual and it will start working right out of the box. The Paranoia frame is a small rectangular unlabeled frame, you can move it by clicking and dragging it around. To configure Paranoia, right click on the Paranoia main frame, or type /paranoia config, or use the Addon Interface Options menu (found by hitting Escape, clicking Interface, clicking the Addons tab, and selecting the Paranoia category.) To announce an enemy, right click on their name in the enemy list and select the channel you want to announce them to.
NOTE: If you cannot see Paranoia when you start WoW, you are probably in an area where it is disabled, such as a battleground or Shattrath City. Type /paranoia config to change these settings.
Slash Command List
You can use /paranoia or /para for commands. /paranoia - Prints help/command list /paranoia config - Displays the configuration frame /paranoia enable - Enables the addon /paranoia disable - Disables the addon, it will not detect enemy players or make sound /paranoia debug - Toggles debug mode. If you are getting lots of "pDebug:" spam in your chat log, type this. If you find a bug or receive an error in Paranoia, please type this command and try to reproduce the error. Then post the error message and the last few lines of pDebug messages. /paranoia debuglist - Prints a list of debug commands.
FAQs
These are frequently asked questions regarding Paranoia. While none of these questions were asked to me frequently, indeed, none were really even asked at all, they are questions that I feel are important.
What is Paranoia?
In it's simplest form, Paranoia is simply an addon that keeps a constant lookout for enemy players. When Paranoia detects a nearby enemy, it will warn you.
How does it work?
Paranoia scans all incoming combat log events looking for hostile players. For example, if you're a level 25 Mage questing in Hillsbrad, minding your own business, and a level 27 Alliance rogue passing by happens to notice you, he will probably use stealth. This shows up in the combat log as "Skillz gains Stealth". Normally you wouldn't really notice, especially while fighting a mob, however, Paranoia will notice, and it will play a warning sound and show a message in big red letters that says "Alliance Rogue detected! (Skillz)". You can then Blink away from the mob you're fighting and make a break for Tarren Mill, and while you're running you can right click on Skillz and announce his name, class and location to LocalDefense.
I just logged in after installing Paranoia and I don't see it anywhere!
If you login after installing Paranoia, the addon should be located near the bottom right corner of the screen, it's a small, gray, rectangular box. If Paranoia isn't there and is installed correctly, it's probably just hidden because you are in Shattrah City or a Battleground/Arena/Free-for-all zone. If this is the case Paranoia will warn you in the chat log that it is currently hidden and a popup message on the screen will ask you if you want to open the options frame.
Sometimes Paranoia reports an enemy, but when I go to target them, there's no-one there.
This could of course be because the enemy is stealthed or prowled, but if you didn't get wtfpwnt shortly after then it was probably a side-effect of a bug in Blizzard's new combat log. Frequently, the combat log will capture events of players in completely different zones. If you're in Outland, it seems to often get players Isle of Quel’Danas. If in Azeroth, you usually get players in the Eastern Plaguelands. Normally, regular combat/spellcasting/tradeskills from players in other zones don't trigger Paranoia, but if someone enchants a weapon or applies a poison, or if either wears off, Paranoia will trigger. There is currently nothing I can do about this, unfortunately, as it is a bug with the combat log.
Some stupid Horde just ganked me! Q_Q How can I announce him to my guild so we can corpse camp him for three hours?
If Paranoia detects a hostile, you can announce them to whatever channel you want by right clicking on their name in the Paranoia enemy list and choosing the channel you want (in this case, /guild). The alert message sent to the channel will include the player's name, level and class (if known), last seen subzone (for example Nesingwary's Expedition if you're in Stranglethorn) and coordinates.
The right click dropdown only shows /say and /yell.
The dropdown will dynamically add and remove channels depending on what you have access to. /party, /raid, /guild, /battleground, and /localdefense will only appear when you are in a party, raid, guild, battleground, etc.
Is Paranoia compatible with non-enUS WoW clients?
Technically, Paranoia is compatible with all WoW clients, as of version 1.10. However, there are no translations yet, so when used with non-english clients most of the more advanced features will not work, such as class coloring, class/level guessing, sanctuary detection, and LocalDefense channel detection (LocalDefense won't work but other channels should). Announcing and basic enemy detection should work fine, however this is only my guess and I have not actually tested.
As noted above, localization support has been added in version 1.10, but I really need translations to other languages! If you want to help, translate localization-en.lua and send it to me at lifetapt [at] gmail [dot] com.
Is Paranoia legal? Is this mod considered an exploit or a cheat? Can Paranoia see through stealth?
Paranoia IS completely legal, since it is written completely in LUA and runs inside of WoW's built in LUA interpreter. Blizzard has specifically designed WoW so that addons can only perform functions Blizzard allows them to, and they are blocked from many of the more powerful functions such as auto-casting, auto-targeting, etc. Paranoia does not take advantage of any exploit in any way, since it only uses data that is already available to the player in the default UI. Even without Paranoia, you can detect nearby enemies simply by setting your combat log to "Everything" and keeping an eye on it. Enemy players will show up in red whenever they cast a spell or skill, use a tradeskill, or attack something (you can change the color to something like pink so they stand out from enemy mobs, which also appear as red). This is the same EXACT method that Paranoia uses to detect enemies. Also, Paranoia CANNOT see through stealth... some people seem to confuse this and think that this addon can target stealthed players, when it cannot. When Paranoia finds something like "Allirogue gains Stealth." it only knows that there is a rogue somewhere near you who just went stealthed. If you try to target them, it will fail, since Paranoia uses a /target macro to target enemies. However, if you detect a stealthed player (by detect, I'm talking about the "whoosh" sound you hear when you move near a stealthed player and the very faint outline of them you can see), Paranoia will be able to target them, if you click on their name. Otherwise, there is nothing Paranoia can do about stealth.
Contact
Use the comments section (preferably the Curse.com Paranoia listing, as I check that more often) to leave suggestions, report bugs, or request features. You can also send a whisper to me in-game if you manage to find me, Lifetapt @ Alterac Mountains. You can also send me an email using lifetapt [at] gmail [dot] com, please put Paranoia in the subject line.
Please send me feature requests, as well as bug reports if you find them, I appreciate suggestions and comments, really, and I will most likely find a way to implement a feature if you ask for it.
To-do List
These are features that will/might be added to Paranoia in the future. Some of these were added by the original Paranoia author and most were added by me. These are in no particular order, I just kinda added them as I thought them up.
- Provide different warning sounds via a Paranoia Sounds options tab
- Properly detect and classify enemy pets (ie. WarnHostilePlayer(arg1,name,isPet))
- Associate pets with masters
- Add a Paranoia Help options tab and use a simpleHTML frame to display help on using Paranoia.
- Increase max number of enemies in the paranoia enemy list. maybe use a listbox to store them. (as of 1.09 Paranoia stores up to 15, but a different implementation will probably be neccessary for more than that without being sloppy/ugly)
- Perhaps add a KoS list similar to ganklist or opium
- KoS units need a different sound and a different popup message text
- tooltip on units in enemy list, should show name, target, level, time since last activity (unlikely, will probably remove this)
- Ace the addon? (the addon uses includes some ace libraries as of 1.09 but it really only uses dewdrop)
- Customizable alert popup text
- autoannounce when attacked
- autoannounce when killed by PvP
- further investigate causes of taint and fix them, disable options frame when in combat mode
- Add player database. Previously seen enemies will already have their class/level known from the last time they were seen
- Add party coop detection, ie. if a party member has Paranoia installed, then share hostile player data with them and add their hostiles to our list.
- Allow the user to change the WarnFrame font
- Separate the lock paranoia frame option. There should be two options, one that locks the frame in place but still lets it receive mouse clicks, and another that makes the frame clickthrough.
Completed goals
- at WarnHostilePlayer End, alwasy call Update() to update lists
- get warning sound from game data files to reduce download size (just got to dig it out again)
- option to hide list
- option to play sound or not
- alpha for the frame (border)
- when changing zones enemy list appears to fade in again, even if it is already visible
- Make a unit's name fade out the longer it's been on the list with no activity.
- a slider should allow player to change the time between warnings and the listTimeout
- add last seen coordinates/subzone to gHostileList table
- Add localdefense reporting
- Right clicking on an enemy should announce them to LocalDefense (or bring up a context menu with several options, LocalDef, Party, Raid, etc. and perhaps add to KoS list, etc.)
- add chat channel detection and dynamically update enemy announce dropdown
- Find another way to determine active battlefield reliably, without using too much CPU
- Detect on mouseover (use "UPDATE_MOUSEOVER_UNIT")
- Provide support for localization, and hopefully find some nice people willing to localize Paranoia
- Scan tooltips for additional information on hostiles
- Add frame scaling.
v1.10b Localization update/bugfix.
-Includes French localization, thanks to Minihunt EU@Ner'zhul. The spell list is not included, so class guessing will not work. However, I plan on coverting the spell list to use spellID's instead of names soon so other languages will be able to have class detection. There is some overflow in some of the configuration frame texts, I am aware of it and I'm looking for a workaround. I really need people with frFR clients to test the new localization out and see if you have any problems. Like I said, everything but class guessing should work.
-Fixed a couple strings that were hard-coded in English and were not being localized.
-Fixed a major bug where Paranoia was detecting friendly players, sorry for the huge delay it took me to fix this =/
v1.10 Major update.
-ADDED LOCALIZATION SUPPORT! WOOT! Paranoia now supports multiple localizations, however, there are no translations yet so there isn't a noticeable change to those of you using non-english clients. If you know English and another language, and would like to translate, PLEASE feel free to do so! You can send a translated localization file to lifetapt [at] gmail [dot] com. If I don't get translations, I'll go ahead and BabelFish the localization file, but it's going to be pretty ugly so I'm going to hold out for human-translation for at least a week or two. Also I'm interested in how Paranoia will handle accented characters and script, SciTE doesn't seem to want to display them when I copy-paste so we might have a problem with that.
-Added mouseover detection. Paranoia will now add targets you move your mouse over to the enemy list with class and level data known. You can mouseover a clump of enemies to quickly add or update all of them. Also, mouseover counts as "activity" so you can keep units from fading out by mousing over them.
-Added target detection. If you target a unit that has not done anything to trigger Paranoia's combat log detection, Paranoia will add them to the list. Targeting counts as "activity" so you can keep units from fading out by targeting them.
-Added an ignore feature. You can right click on a hostile in the enemy list and hit ignore for this session and they will not trigger Paranoia until you logout, reload the UI, or after three hours. This is useful for quickly getting rid of units that are triggering Paranoia from different zones, at least until Blizzard fixes that bug.
-Added a Paranoia Announce options tab. You can now change the announce message. Read the instructions on the actual tab to learn how to create a custom message.
-Changed the enemy list to show the complete class name instead of the first three letters.
-Added dynamic resizing of the enemy list's width. The enemy list will now resize to fit the longest line of text inside it.
-Added enemy list scaling to the Paranoia Appearance tab. You can now set the scaled size of the Paranoia enemy list to make it smaller or larger, independent of your regular UI scale.
-Changed some default values in the XML file, I had previously set them to zero in 1.09 but that apparently caused problems with savedvariables loading so they're now back the way they were.
-Changed the default position of WarnFrame, it's now anchored to TOPLEFT with a 100, -100 offset.
-Changed a couple incorrectly defined global variables to locals.
-Changed the default announce message.
-Fixed a problem with the Lock Paranoia Window option, I had not modified that option to work with the ten extra buttons I've recently added so even with that option checked the last 10 buttons did not allow clickthrough.
-Fixed a fairly large bug where empty buttons still intercepted mouse clicks i.e. if there are five visible enemies, then the space underneath the Paranoia window (where the next 10 hidden buttons are) will still receive mouse clicks. Buttons are now hidden instead of just set to have no text.
-Added significantly more commenting to the code, mostly for my benefit but also for anyone looking through it.
-Fixed a bug where if Paranoia's sound was disabled the warning message would not appear.
-Fixed a bug in detection that was causing Paranoia not to trigger in certain situations.
-Paranoia now only looks for the last three bits of a unitflag, so it will now catch all hostile players regardless of whether or not they're targeted, focused, targeted and focused, etc.
-Other miscellaneous fixes and changes.
v1.09 Major update.
-Added basic hostile player announcing functionality. When you right click on a player in the enemy list, you can choose a chat channel to announce them to, including /say, /yell, /party, /guild, /raid, /battleground, and /localdefense (chat channels will be added and removed from the list dynamically according to which channels you have access to). The announcement will include the player's name, level (if known), class (if known), and last seen coords and subzone. The last seen coordinates and zone will be wherever you were standing when Paranoia last detected the player, since there is no real way to get the coordinates of another unit. Will add things like message customization, custom channels, and possibly autoannouncing soon.
-Moved the inactivity fading checkbox to the Paranoia Appearance tab from the Paranoia General.
-Added sliders to modify the enemy list timeout (how long Paranoia keeps an enemy in the list) and warning timeout (minimum amount of time between alert popup/alert sound) to the Paranoia General
-Increased the maximum number of enemies the enemy list can hold to 15.
-Added a slider to change the maximum number of enemies the list will display.
-Added value display to the sliders in the options frame, so you don't have to guesstimate what the value is currently set to.
-Added some Ace2 libraries to the addon, however, I'm not really using any features of Ace2 at the moment and really only need AceAddon,
AceOO and AceLibrary to use Dewdrop. I've also thrown AceLocale in there since I'm probably going to add localization support very soon (despite what I said about it being last on the ToDo list) and AceDB as I'm planning to add an enemy player database where Paranoia will store enemies it has previously seen to the addon in the near future.
-Fixed the "Interface action failed because of an AddOn" message. Paranoia was causing taint because of it trying to resize itself and update the hostile list while in combat, which is apparently something that cannot be done. While in combat, Paranoia will not visually update the enemy list, but behind the scenes, Paranoia is still detecting and tracking enemies and will still be able to alert you with the warning sound and popup message. However, the enemy list itself will not update until you leave combat mode. This may be slightly misleading, since Paranoia might display "No alliance detected." even if there is an enemy standing in front of you attacking you. Paranoia will still taint if you try to alter settings while in combat mode, will get to that later.
-Made quite a few modifications to the detection code, I was able to test it in a controlled environment with an Alliance friend of mine and fixed several problems with detection, guessing accuracy, and display. Paranoia should now guess classes and levels more often and more accurately, and when guessing levels should work much more smoothly (previously, the first guessed level would not change until the hostile was targeted, now the guessed level will get progressively higher as the enemy uses higher leveled skills). Also, Paranoia will be able to detect two enemies at once, for example, if an enemy priest heals another enemy, Paranoia will detect the Preist (and flag them as a Priest) and the other enemy (flagged as unknown).
-Fixed BG code, it should always detect correctly.
v1.08
Major update.
-Added click-targeting. You can now click on a player's name in the enemy list to target them. This feature only works while not in combat mode. Please note that if you click on a unit's name and nothing happens (assuming you are out of combat) then the unit is probably out of targeting range, as the combat log will sometimes report units not in range. Of course, they could just be stealthed. IMPORTANT: If the Paranoia window is locked, then it cannot recieve mouse clicks and this feature will not work.
-Added inactivity fading. Now, units on the enemy list will gradually fade out if no activity has been detected from that unit. The more faded a unit's name appears, the longer it has been since that unit was last detected doing something. You can disable this feature in the new Paranoia Appearance options tab.
-Added class coloring. Units in the enemy player list will now have colored names based on their class. Paranoia will only color a unit's name if it knows the unit's class. If the class is unknown, Paranoia will color the name gray. You can disable this feature in the new Paranoia Appearance options tab.
-Added class-detecting and level-guessing support. Paranoia will now check the spell/skill name of all enemy combat log events and use that to determine the player's class and minimum level. For example, if Paranoia detects an enemy using the skill Ice Lance it will guess that the enemy is a level 66+ Mage. Paranoia cannot detect an enemy's class if they only use melee swings or if it detects environmental damage. The class guess can sometimes be wrong when it detects buffs or debuffs (for example, if the slowing effect of Frostbolt fades from a Warrior, the Warrior will be incorrectly detected as a Mage). However, it will attempt to determine the correct class by looking at the spells the unit is using (if the incorrectly detected Warrior-turned-Mage uses Heroic Strike they will be detected as a Warrior and will stay that way).
-Added support for up to ten enemy units.
-Re-enabled enemy list autoresizing. This was already in the code but had been disabled by the previous author. Paranoia will now resize its enemy list based on how many hostiles it detects. If there are no nearby players, Paranoia will display "No [opposite faction] players detected."
-Added a /paranoia gc debug command. This command will force a garbage collection.
-Added ParanoiaSpells.lua, this is how Paranoia guesses classes and levels. Since this file has a list of most spells it is 42kb in size and boosts Paranoia's memory usage by about that much.
-Removed level difference display. Paranoia won't show the level difference between you and your target anymore and will instead just show the level. If the level was guessed by Paranoia or if the player has a skull level then Paranoia will display the guessed level and a plus sign (eg. if you are 37 and the enemy is a skull Paranoia will display 47+, or if Paranoia detects Death Coil then it will display 42+, which is the minimum level for Death Coil.) A "?" indicates an unknown level, as before.
-Moved Border/Frame opacity to the new Paranoia Appearance options tab.
-Created a new Paranoia Appearance tab in interface options.
-Changed functions from being globals to being located in the Paranoia: namespace.
-Reduced download size by removing ganker.wav from the Paranoia directory. Since the warning sound Paranoia uses (PVPWarningAlliance.wav) is a built-in sound the addon now just grabs the sound from the WoW data file instead of relying on an external file.
-Changed the enemy alert popup text from "Hostile player detected!" to "[Opposite Faction] player detected!".
-Split the Disable in BGs/Arena option, now there are two options: Disable in BGs and Disable in Arena.
-The BG detection still suffers from the GetBattlefieldInstanceRunTime() bug, I cannot find a way of getting around that that doesn't involve running a For loop every OnUpdate() which I imagine uses significantly more CPU than just calling an API fuction. I tried for about two hours to code a workaround but I ended up with code so messy and broken that I just reverted to the old 1.07 code.
v1.07
Minor update.
-Removed duplicate unnecessary code from the zone changed event in OnEvent. This fixes the bug where the Paranoia frame would re-fadein even if it was already visible and vice versa.
-Sorted out the disable-in-bgs/arena coding. Previously it only worked occasionally, I had never really changed it from the original code and I hadn't really tested the addon in a BG. It should now work properly, hiding Paranoia and not playing the warning sound anytime it is disabled.
-Fixed the disable-in-FFA code, which worked in the same way as the BG code and presumably had the same problem. It was broken anyway because it was checking for a boolean value and the API function was returning a 1 or nil so it simply didn't have any effect.
-After "fixing" the BG code, I've realized the reason why it's not always correctly detecting a BG: If you join a queue for two or more BGs and join the first one that pops up, when the next one pops (presumably while you're playing in the BG) it bugs the GetBattlefieldInstanceRunTime() api function, and it will always return zero. Paranoia then cannot determine if you are in a BG or not, so It'll show up anyway. I'm looking for a way around this, but in the meantime please use /paranoia disable if it's not cooperating. Arenas should work fine (though I haven't tested them at all), however please note that Paranoia will not hide itself in an arena until the prematch countdown reaches zero and the arena starts.
v1.06
Major update.
-added an enemy player popup alert feature. Now, when an enemy player is detected, a popup message displaying "Hostile player detected! (Playername)" will appear and fade out. You can configure the display duration, fadeout duration, and the location of the alert popup in the Paranoia Alert Popup configuration frame.
-added an option to disable the Paranoia enemy list, while leaving the addon still running. This way you can just use the sound and/or alert popup if you don't want the Paranoia enemy list.
-added a slider for the enemy list's border opacity.
-added a slider for the enemy list's panel opacity.
-added an option to disable in Free-For-All zones (Dire Maul Arena, Nagrand Arena, Gurubashi Arena etc.)
-added an option to lock the Paranoia enemy list so that you don't accidentally move it. While locked, the enemy list will not recieve mouse clicks, so you will have to open the options window by /paranoia config or by Options -> Interface -> Addons -> Paranoia.
-integrated Paranoia options with the new 2.4 Blizzard Interface frame. You can now access Paranoia's config by hitting Escape, clicking Interface, clicking the Addons tab and choosing Paranoia. There are two subcategories, Paranoia General and Paranoia Alert Popup.
-set Paranoia_Frame_Main's frameStrata to background, it should now not intercept mouse clicks when the bag or any other frames are in front of it.
-added some more slash commands used mainly for debugging. See /paranoia debuglist for a listing of these commands.
-fixed a bug where if the hostile unit was targeted, Paranoia wouldn't detect its combat log event (since the unitflag of a targeted hostile is 0x00010548 and Paranoia was checking for 0x00000548. If anyone knows how to check just the last three bits of of a unitflag, please let me know!
-other miscellaneous fixes/additions
v1.05
Minor update.
-fixed issue that occured when an enemy druid summoned Treants
v1.04
Fan update by Lifetapt to work with the new WoW patch 2.4 combat log system.
-made addon compatible with patch 2.4 combat log
-added option to disable in sanctuary zones
-added option to enable or disable warning sound
-fixed issue where config window wouldn't load savedvariables properly
-fixed issue where sound would play even if paranoia was disabled
-extended slash command functionality
-changed warning sound =P the old one is still there, if you want it back just replace ganker.wav with oldganker.wav.
v1.03
updated to WoW client 1.12
-added switch to disable in battlefields
v1.02
updated to WoW client version 1.11
v1.01
updated to WoW Client version 1.10
v1.0
initial release
Optional Files - Paranoia Enemy Player Alert
Sorry, there are currently no optional files available.
I know what you're talking about bro. That' a lot to do.I'm glad to hear that you plan on putting a KoS list on it. Thanks for the response. I hope to see more updates of your work.
Originally posted by demon of peace Are you familiar with the discontinued add-on Opium? It was basically a database of Horde and Alliance that you mouse over and kept a record of them. It had a nice search engine as well so you could narrow down the character you want to find. It even had it's own KOS list and guild KOS too, and even keeping track of the # of times you killed or got killed by a character on your mouseover. Ever since 2.4 rolled along, it has messed up. I think that would be a great addition to this already wonderful mod.
Yeah, I know of Opium. I would like to add a KoS list feature to Paranoia, although it would kinda be a big project and I'm still learning LUA, so early implementations will not include things like searching and stat tracking. But a KoS list is definitely on my To-do list since I've gotten quite a few requests for it, even one while ingame... and I'll hopefully work towards things like stat tracking, sharing with guild/party etc.
However, I don't think I'll be adding a database of all players, friendly and hostile, as that strays too far from the original intent of Paranoia. However, I can see an addon like that being a second project for me to work on after I'm satisfied with Paranoia.
Are you familiar with the discontinued add-on Opium? It was basically a database of Horde and Alliance that you mouse over and kept a record of them. It had a nice search engine as well so you could narrow down the character you want to find. It even had it's own KOS list and guild KOS too, and even keeping track of the # of times you killed or got killed by a character on your mouseover. Ever since 2.4 rolled along, it has messed up. I think that would be a great addition to this already wonderful mod.
Heh, glad that you like the addon, even though it's definitely not supposed to be doing that.
I still have no idea why Paranoia is doing that, it's not supposed to and I can't imagine what in its coding is causing it to behave that way. I'd like to find out what the problem is, but it doesn't seem to happen for me. I would really really appreciate it if you could do something to help me out
What you would need to do is this:
-Find a friendly hordie who is causing Paranoia to trigger a warning.
-Stay near them as they fight some mobs or whatever and type /paranoia verbose. This will cause a bunch of orange "pDebug" text to scroll through in the chat log as the player fights.
-Just let Paranoia spam your chat log for about 5-10 seconds, and then type /paranoia verbose again to make it stop.
-Scroll up through your chat log and look for the first time that you see a line that starts with: "pDebug: Entering WarnHostilePlayer".
-Once you find that line, post here (or send me a PM, or an email) a couple lines of pDebug messages that appear above that line and a couple that appear below it. (you should see things like the player's name, the spell they used, and some numbers that are labeled as sourceFlags and destFlags as well as a line that says "Playing warning sound").
It would probably be easier to just take a screenshot instead of typing it out, but I don't mind, whatever is easier for you would be great.
This would really help me out by letting me see what is causing Paranoia to trigger, but if you want to stop Paranoia from annoying you with alerts about friendly players in the meantime until I fix the issue, you can right click on their name in the enemy list and click "Ignore for this session", which will make Paranoia ignore them for three hours or until you logout.
Thanks again!
EDIT: Ignore the above, found the problem and fixed it in 1.10b. Also included a french translation, thanks to Minihunt
I mean that any green flagged PVP player (including flagged and my faction) is being detected as hostile. As I type this I am in Tanaris questing and there is a lv70 Troll Shaman farming next to me, and everytime he casts a spell it comes up as an alliance player, regardless of this it is still a very useful addon, and keeps me on my toes
@kuni: You say Paranoia seems to detect "any PVP flagged player as hostile"... by this do you mean that any player with a red name is detected, including those on your own faction? For example, if you're Horde and you duel another Horde player, they will temporarily become hostile to you for the duration of the duel, and Paranoia will detect them as an enemy and say "Hostile Alliance detected!" simply because it can't find out what faction a unit is just by looking at the combat log, so it just assumes what is more likely (that the unit is Alliance). I suppose I could find a workaround for that.
Now, if by "any PVP flagged player" you mean players with green names (PvP flagged but friendly to you), then we really have a problem... but I'll assume that's not what you meant since there is no reason for Paranoia to be doing that.
@darkshimmer: Are the "friendly players" actually friendly when it's doing this? For example, does it only do this when you're dueling someone or in a free-for-all zone like Gurubashi? As stated above, it doesn't really know what faction a player is just by looking at the combat log, it just makes the assumption that they're on the opposite faction, since that is the most likely scenario.
If it's doing this when you're not in a duel or free-for-all zone, then there's a problem. Does this happen constantly, sometimes, or rarely? If it's just a rare occurance, I know there seems to be a bug in the combat log that will occasionally cause a friendly (towards you) player to generate a hostile combat log event, this is enough to trigger Paranoia. I think I know what the problem is though, and how to fix it.
If it happens often, please use the command /paranoia verbose and try to get Paranoia to trigger on a friendly unit. Post the lines starting with pDebug near when it says "Entering WarnHostilePlayer()".
Thanks for the comments.
@jailborc:
Adding an option to hide the Paranoia window while leaving the addon enabled was already on my to-do list, so that should be out in 1.06.
Unfortunately, I don't know very much at all about how to create a frame in LUA rather than XML and there doesn't seem to be too much documentation regarding it (although my search wasn't exactly thorough) so I would have to look more into loading the config frame on demand. It might not make it into 1.06 though.
Integrating with the Blizzard Interface Options Menu seems to be easy, InterfaceOptions_AddCategory(Paranoia_Frame_Config) is apparently how to do it, so I'll add that in the next update.
Thanks again for the suggestions, I appreciate them.