I always check for updates before I run FGU so it *should* be using whatever the latest version you’ve pushed is… right?
Printable View
It's probably conflict with another mod. I've tested it with Aure effects, BCE, Advanced effects, Combat Automation and Turbo, but any mod the changes anything related to combat tracker could be causing the conflict. Can you test it without other extensions first, so we can be sure?
I used last night in a dungeon with lots of corridors. Aggro with default settings would consistently target enemies that it had no line of sight on were often (not always) the furthest or 2nd furthest target away from the attacker. I dont know if there is an ability for Aggro to use line of sight or to check whether it has ranged attacks before selecting a target 40' away.
There's no feature for line of sight yet, as i believe this is more complex than the other features to implement (i want to implement it tough, along with an actor detection for ranged attacks vectors to track possible cover, i just don't even know where to start yet, so i'm focusing on easier to implement features...).
If a NPC has a ranged attack, its effective and maximum range for selecting valid target is the effective and maximum range of the attack (otherwise, the effective reach = speed + reach and maximum range = speed*2 + reach). So if a NPC has a longbow, for example, most probably all npcs on map will be valid targets (unless is a gargantuan map). If you think distant creatures are getting too much aggro, you can increase the threat weight for proximity, so closer targets will have better chances.
This is just for your info - we had a lot of scenes where some or even most party members were in a corridor so there was limited movement possibilities (moving through enemy occupied squares) so the target choices were often not optimal due to that.
The targeted PC was the most wounded which is what swayed it. I tested now removing the Wights Longbow and he still preferred to attack the wounded character over all other options :bandit:
https://www.fantasygrounds.com/forum...chmentid=63134
Attachment 63134
I really like this extension, but I am guessing that it’s impossible to account for every unique situation. A good compromise might be a ranking system on each PC’s token—like a health bar or threat level indicator—so the DM can quickly identify threats. The DM could skip the top-ranked target if, for example, the target is behind a wall and move to the next highest-ranked viable target. But I don't know if that is possible.
This is partially already in the verbose chat output for the GM. I am currently muting the player output and check through the calculations (pure logic option) who gets how many AGGRO points. I find myself quite often changing target due to LoS, but having a choice of 3-4 targets instead of.... many is very helpful, especially if this annoying fireballing wizard in the last row is usually overlooked although in perfect range of a crossbow.
Adding AGGRO to spell casting effects is very helpful :D - for longer casting times, my players are already used to add an effect to their chars. They will now need to do it for more spells - which in turn also adds nice graphics from GAL, so a win-win.
However - having the full calculation results printed (in a nice table?) and sorted by AGGRO (highest last to minimize scrolling) would be really helpful.
I am not sure how you plan to implement AGGRO for spells, but i would like to share some thoughts (and rules) for your consideration - and include a feature request ;)
As of XGE p85, to identify a spell, a character must observe the casting or effect (or both) and spend an action or reaction to make a successful Arcana(INT) check against DC 15 + <spell level>. The check is made with advantage if the caster casts the spell in the same class as the character has.
Using this for AGGRO sounds pretty cumbersome and will kill a lot of reactions (or actions).
However, using the check itself (perhaps "passive" = 10 + <skill bonus>) might help to determine if a NPC perceives a spellcaster as a threat. House rule might adjust visible effect to DC 10 + <spell level> vs. somatic/verbal component observation remaining on DC 15 + <spell level>.
I can see this resulting in wizards exchanging fireballs from backrow to backrow as the other NPCs do not perceive the whimsy guys in the backrows as threat :D
That means a table for all spells with visible effect and a predefined (level based?) AGGRO would be required.
I am currently using an additional effect (for the spells I consider visible) which wears off after the spell caster's next turn, simple AGGRO: 50 * <spell level>. I have not solved the skill check yet but I suspect it would require something like an AURA effect and/or a new reverse AGGROT effect applied to the NPCs succeeding the check with the caster as target.
Long story short: perhaps you could add this targeted AGGROT (or rather THREAT as it is reversed: NPC feels threatened by the target) to your "future implementation" feature list.
Many thanks!
So... new update incoming. New features include:
3 New Effects
- INDEPENDENT: NPCs with INDEPENDENT effect will skip threat calculation an auto targeting. Use it for manual targeting.
- NOTHREAT: NPCs with this effect will be ignored as valid targets.
- CRUEL: The NPC with this effect will bypass NPC Cruelty: Off (NPC will continue to see dying actors as valid targets until they're dead). Good to evil bosses or final battles.
A New targeting mode: Target Advisor
- Instead of Auto selecting targets, Target advisor will just advise the GM on who are the biggest threats of the battlefield, leaving the final target choice to GM/Player.
New Option: NPC Engagement
NPCs normally don't engage in combat. But this option can change that behavior. These are the new options:
- Off: Neutral NPCs never engage combat, even if attacked.
- Auto Defense: Neutral NPCs will join the opposing faction of any actor that attack them first. If after switching factions a former neutral is attacked by a member of the faction they've just joined, the NPCs will turn hostile to all, instead.
- Hostile to All: If a neutral NPC is attacked by anyone, it will turn hostile to all actors on combat tracker that were not neutral before.
- Random Choice: Randomly chooses between auto defense or hostile to all.
Bug Fixes and minor changes:
- Fixed effective and max range calculations for melee actors.
- Renamed menu options.
Known Issues:
- Foes will never see a former neutral turned foe as a valid target. The only way to trigger the "betrayal" behavior for neutrals that are now foes is to manually target it with another foe.
I've tried my best to test all possible scenarios, but as the number of features grow, it's becoming very difficult to test, so if you would like to test future releases in advance, let me know!
Maybe not. I've switched AGGRO from Data to Vault on Forge, in earlier versions. if you happen to have a older version in .ext format in you extensions folder, FG will grant priority for the .ext over the vault file. Remove any old aggro files from your extension folder and give it a new try.
check the extension announcement message when you launch the game, if it says Aggro 1.2.1 you're good. If it says something like "Aggro - [Prioritized Source: File; Other Sources: Vault]" it's because FG is loading the old version instead.
Attachment 63142
Welp, it's still giving that error, and it's definitely the latest version :confused:
Some of us process information better visually. Personally, I find it quicker to look at a map with ranked targets than to scan the chat output and match it to the tokens' positions. For example, I could glance at the map and immediately see that the token marked '1' is behind a wall and invalid, '2' is behind cover and would impose a -2 penalty on my ranging orc’s shot, while '3' is in a perfect position. Both methods work, but visual cues are much easier for me in these situations, and maybe for a few others.
How much system performance load does this extension carry?
I use a ton of extensions (90+) and have to be selective about which ones that have a lot of overhead.
I love the concept of your work, but if it's constantly doing data comparison the performance cost may be too high (for me).
It's not apples to apples, but I had to stop using Auras for awhile because it made combat exceptionally laggy. However, that was fixed and it runs extremely well now.
It does compare data, but not continuously. It doesn't run nonstop checks or loops in the background; instead, it performs checks once for each system message in the chat (such as criticals, damage, misses, or spells) and once at the start of an actor's turn in the combat tracker. I’ve also implemented a garbage collection system to avoid memory clutter. The processing is done on local tables rather than database nodes, except when saving data.
I am very interested in getting this extension, but I have a question about what you said above. What about pre-built modules? Like if I have Decent into Averus, where the author may have dragged the map directly from the encounter, would I have to add each encounter to the combat tracker then drag each monster onto the map?
I"ve tested with Tomb of Annihilation and i had no problems with the pre-made encounters. You should be fine with other modules as well. Also, I've made some changes to damage, misses and critical functions and it seems to have fixed the issues with those factors not being calculated when the actor's token were dragged directly from the character sheet into the map, instead of combat tracker.
Big Update
1.3.0
New Features:
- Spellcasting Aggro! Caster receive the base spell threat value + additional level bonus (both customizable).
- Healing Aggro: also receive additional aggro based on healing level.
- Intelligence based aggro: Define the minimum intelligence to be considered 'intelligent' and 'rational'. Intelligent actors will calculate all variables plus spell and healing aggro. Rational actors will calculate everything but those two and irrational actor will only consider basic aggro modifiers.
- Neglected target aggro: Actors that are not being targeted by anyone will receive this bonus to threat.
Let me know if you find any bugs! Also, leave your suggestions! I always read them and try to implement everything i can.
Next update will feature visual aid for the first 3 aggro choices. I'm already testing it and it seems to be working fine...
https://i.imgur.com/n8BsWAU.png
This looks really great, but be careful here: the icons in the top left might clash with the Indicators (or similar) extension which are quite widely used.
Hey, I've been playing around a bit with this and I really like it.
One thing, I'd like to note. In PF2RPG the differentiation between 'irrational', 'rational', and 'intelligent' doesn't seem to work. I assume this is because in PF2 Ability Scores are Modifiers only and I guess the extension checks for the score. I can set the values to 0 to make them work, which supports this. Maybe you can look into this?
FYI (I have not seen any impact): the following warning is showing up in the console logs pretty much at the top:
Code:[3/15/2025 12:23:18 PM] [WARNING] Could not load script file (AGGRO) (P:aggroVision) (scripts/manager_vision_aggro.lua)
Hey there, I bought the extension and it works great for the basics. One issue i'm having is that it's only adding aggro values for any spellcasts/damage/misses while GM is the one doing the spellcast or attack from the character sheet, it does not calculate when PC players use actions. Is there any possible fix for this? Thanks.
I'm having this same issue. If the GM does it, it will track the spell casting.
Same for healing.
I'm not seeing the threat for "Damage Threat" nor "Critical Hit Threat" nor "Miss Penalty"
Also some healing is working but others are not.
Testing with no other exts.
Feature Request: Can you add a new option to carry over some or all of the last round's threat? Much like "Previous Target" a way to pull the total AGGRO as part or the whole amount carrying it forward would be nice.
This would allow for someone's high threat the round before to carry over more than just a "previous target" modifier because someone could have got a LOT of AGGRO in a round lets say 850 now they are the target. All it would take is someone to do slightly more (an amount over the Prev Target setting) AGGRO for 1 round and they (the creature) would change to a new target.
This prevents some ping ponging also.
Getting this error when using a Spectator NPC. (Legacy MM)
[ERROR] Handler error: [string "AGGRO:scripts/manager_aggro.lua"]:787: attempt to concatenate local 'nMaxRange' (a nil value)
When the players connect it displayed these messages to them. Which they can see if they look at the options but still likely better not to display it each time they load.
Quote:
Target selection weight updated - RANDDISTW: 150
Target selection weight updated - RANDDMG: 555
Target selection weight updated - RANDMIN: 50
Also is it possible to hide the settings from the players? I would like it if they didn't know the weights of these things at all or any of these settings.
Anything to be concerned about here?
Pathfinder 1st edition,
[WARNING] Could not load script file (AGGRO) (P:aggroVision) (scripts/manager_vision_aggro.lua)
Is this module no longer being maintained? Get all sorts of errors when using it?
It seems so.
A pity, it was an interesting concept, but sure It was very short lived.
Sorry guys... I've been away since my child was born, but now I'm back and ready to catch up with my extensions.
I'll be conducting a series of tests this week to see what is broken and what is still working in the latest versions of the supported rulesets.
A lot of people have asked me to add support for specific rulesets, so I'll probably allow this extension to load in any CoreRPG-based ruleset. Support is not guaranteed, though, and I won't be advertising the additional rulesets for that reason. This is mostly for testing purposes, so you guys can see what works and what doesn't.
Changelog
1.4.0
New Features:
- LoS-Aware Aggro: Characters will not be listed as potential targets if they do not have line of sight to the current actor (don't forget to activate this in the options windows and turn LoS on in the image).
- Opportunity Attack-Aware Aggro: Intelligent actors will avoid targeting characters when doing so would trigger opportunity attacks. Optimized for 5E.
- New Threat Modifier: Legacy: Carries over a percentage of the previous threat value to the next turn if the new value is lower.
- Target Priority Widget: Displays a skull icon above the tokens of the top three targets to help the GM choose between them. This is especially useful when automatic targeting is disabled.
- Expanded support for spells in Pathfinder 1 and 2.
- Added Starfinder to the ruleset compatibility list. Although it is not officially supported, most, if not all, features should work due to its similarities to Pathfinder. Try at your own risk.
Also, multiple bug fixes.
If you're experiencing bugs, make sure to test it without other extensions and please specify the ruleset used.
This ext is not working because it's too deep into the folder structure. Need to move it up one.