TALES of the VALIANT
Page 1 of 7 123 ... Last
  1. #1

    [Extension] 5E, PFRPG, PFRPG2 - Aggro: Smart Target System for NPCs

    Forge Link: https://forge.fantasygrounds.com/shop/items/2021/view

    Introducing Aggro – Smart Targeting for NPCs in Fantasy Grounds

    Are your players constantly shouting, "Why is he attacking me instead of the barbarian?"
    Are you a DM who wants to enjoy impartial targeting while battling it out in an arena with your players?
    Or are you simply looking for a way to streamline combat decisions without overthinking?

    Well… this is for you!





    Aggro is a new extension designed to bring intelligent, automated targeting to your games. By using customizable variables with adjustable weights, it calculates targeting priorities for NPCs. At the start of an NPC's turn, Aggro determines targets based on probability—higher Aggro values mean a greater chance of being selected.



    Key Features

    Two Targeting Systems

    • Logical Chance: Target selection remains random, but higher threat levels significantly increase the chances of being targeted. This maintains a balance of consistency and unpredictability.
    • Pure Logical: The actor with the highest threat level is always selected as the target.


    Choose between Auto Target or Target Advisor
    • Auto Target will do the calculations and auto select the target for you.
    • Target Advisor will calculate the aggro values, but will not select target, instead, it will advise you of the best option (better with "Pure Logical")


    You can also choose whether to display full threat calculations in the chat or only the final target selection message.







    Customizable Threat Variables

    Aggro's targeting system is powered by the following variables, all adjustable via the Options menu:

    • Base Value: A default Aggro value assigned to all actors at the start of a turn. Think of it as a "random motive" factor.
    • Proximity Threat: Closer targets receive higher Aggro values. The nearest target gets 100%, the second-closest gets 50%, the third 25%, and so on.
    • Damage Threat: Targets that deal the most damage to the NPC are prioritized. The top-ranked actor receives 100% of the damage Aggro, with subsequent ranks halving the previous value.
    • Persistence Threat: Actors already targeted in previous turns gain this Aggro value, ensuring consistent NPC behavior.
    • Critical Hit Threat: Actors who land a critical hit on the NPC gain increased Threat until the NPC's next turn.
    • Miss Penalty: Each time an NPC misses a target, that target's Aggro decreases. This penalty is cumulative and resets upon a successful hit, making difficult-to-hit targets less attractive.
    • Out of Reach Penalty: Targets outside the NPC’s base movement range (or effective attack range) have their Aggro reduced by 100%. Targets beyond dashing range (or maximum range) receive triple this penalty, making faraway targets less appealing.
    • Injured Opponent Penalty: Bloodied actors (50% HP or less) have their Aggro reduced by 100%, while wounded actors (more than 50% HP but not full) receive half the penalty.
    • Minimum Target Value: Prevents an actor’s Aggro from dropping to 0 or below, ensuring they remain a potential target.
    • NPC Cruelty: Determines if dying actors (0 HP) are valid targets. When turned off, NPCs will ignore actors with 0 HP.


    Don’t like a variable? Set its value to 0, and it will no longer affect targeting.





    New Effects: AGGRO, INDEPENDENT, NOTHREAT, CRUEL

    Usage: AGGRO: [n]
    Where [n] is a number (positive or negative) that adjusts the target’s Aggro value.
    Examples:

    Code:
    Taunt: AGGRO: 300
    – Increase a target's Aggro by 300.
    Code:
    Innocent Face: AGGRO: -200
    – Decrease a target's Aggro by 200.

    INDEPENDENT: Skip threat calculation and auto targeting. Use it for manual targeting.

    NOTHREAT: Excludes the actor from the valid targets list.

    CRUEL: Bypass the check for "NPCs Cruelty: off" for this particular NPC.



    Important Notes

    • Always drag tokens from the Combat Tracker to the map. Dragging tokens directly from a PC sheet or NPC list will prevent the extension from functioning properly.
    • This extension is not compatible with language translations, as it depends on capturing certain messages from the ruleset to work properly.



    Changelog

    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.


    1.2.1

    New Features:
    • 3 New Effects: INDEPENDENT, NOTHREAT and CRUEL.
    • New feature to decide if attacked neutral NPCs engage in battle.
    • New target advisor mode to show aggro calculations without actually targeting.


    Fixes an Small Changes:
    • Fixed effective and max range calculations for melee combatants.
    • Renamed options.


    1.1.2

    Fixes:
    • Fixed a bug related to tied actors with the same threat modifiers resulting in a console error and no target selected when in "Pure Logical" mode.

    1.1.1

    New Features:
    • NPCs now have the option to target any actor in Combat Tracker. (Select between "PC Only", "Any Friendly" or "All But Hostile").
    • Added a option to choose the target message's display mode for players.
    • Included a message feedback in Verbose mode to show the current NPC effective and maximum range. (If the NPC has no ranged attack, effective range is NPC speed + reach. Maximum range is NPC speed x 2 + reach. For ranged attacks, it takes the effective and maximum range from the weapon or ranged spell attack. If there is only a single value for range, maximum range = effective range.)


    Fixes:
    • Fixed "Injured" threat bonus displayed as a penalty.
    • Fixed console error when NPC ranged attack have only one range value.


    1.0
    • Initial Release


    Coming Next
    Exciting future updates include:

    • Status Effects Threat: Assign custom threat values to statuses like Invisible, Dash, Prone, Paralyzed, etc.
    • Improved Range Calculation: Incorporate save-based spells and powers, like dragon's breath, into the "Out of Reach" penalty.
    • NPCs Quirks: A chance to randomly assign an effect to a NPC representing some personal beef or soft spot, like: "HATES: Dwarves" (Dwarves get threat +200 against him), "LOVES: TINY" (Tiny sized actors receive -200 threat against him).


    I'm constantly checking this post to see the feedback and suggestions to update this list.


    Have Suggestions or Found a Bug?

    I’d love to hear your feedback! Reply to this post with your thoughts or report any issues you encounter.

    Want to be a beta tester for future versions? Send me a message!
    Last edited by Alanrockid; February 1st, 2025 at 02:34. Reason: 1.3.0 patch

  2. #2
    This has a lot of potential.
    lol/no

  3. #3

  4. #4
    Zacchaeus's Avatar
    Join Date
    Dec 2014
    Location
    Scotland
    Posts
    21,854
    Interesting concept. Nice work.
    If there is something that you would like to see in Fantasy Grounds that isn't currently part of the software or if there is something you think would improve a ruleset then add your idea here https://www.fantasygrounds.com/featu...rerequests.php

  5. #5
    Very cool!

    I really won't be able to use it until it can target NPCs, unfortunately, as my groups are always running around with extras (who should often be juicy targets).

    Does "11-Injured Opponent Penalty" make it so the monster is less likely to try to finish off a bloodied opponent? If so it's really the only one that stands out as counterintuitive at a glance...

    I would love to see another option for 'Message Visibility' to be able to have either discreet or verbose but optionally not broadcast to players.

  6. #6
    Quote Originally Posted by rocketvaultgames View Post
    I really won't be able to use it until it can target NPCs, unfortunately, as my groups are always running around with extras (who should often be juicy targets).
    I'm working on expand the effect to all actors in scene right now. I may update this extension sooner than i thought.

    Does "11-Injured Opponent Penalty" make it so the monster is less likely to try to finish off a bloodied opponent? If so it's really the only one that stands out as counterintuitive at a glance...
    It's the opposite. Wounded and bloodied targets are more likely to be targeted because they are viewed as weak. I don't know why i called it a penalty, its really a bonus to threat levels. It will be fixed in next version.

    I would love to see another option for 'Message Visibility' to be able to have either discreet or verbose but optionally not broadcast to players.
    That makes sense. Should be easy to implement.

  7. #7
    Quote Originally Posted by Alanrockid View Post
    I'm working on expand the effect to all actors in scene right now. I may update this extension sooner than i thought.



    It's the opposite. Wounded and bloodied targets are more likely to be targeted because they are viewed as weak. I don't know why i called it a penalty, its really a bonus to threat levels. It will be fixed in next version.



    That makes sense. Should be easy to implement.
    That all sounds fantastic. I'm definitely excited about the future possibilities for this extension!

  8. #8
    Regarding Message Visibility: I'm not sure it's worth the complexity, but I could see a situation where some users would prefer Discreet for Players and Verbose for GM, so having separate options for Player and GM with all 3 options each might be best:

    Players - Muted / Discreet / Verbose
    GM - Muted / Discreet / Verbose

  9. #9

    Join Date
    Mar 2006
    Location
    Arkansas
    Posts
    7,538
    Very interesting concept. Of course, the end game for something like this would be for the extension to actually set the targeting for the active NPC creature with the most aggro so all you have to do is roll.

  10. #10
    Quote Originally Posted by Griogre View Post
    Very interesting concept. Of course, the end game for something like this would be for the extension to actually set the targeting for the active NPC creature with the most aggro so all you have to do is roll.
    You mean the extension selecting the target for player characters as well?
    "A saint does what is right. A leader does what is necessary."

Page 1 of 7 123 ... Last

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
DICE PACKS BUNDLE

Log in

Log in