FG Spreadshirt Swag
Page 1 of 8 123 ... Last
  1. #1

    Extension: Player’s Option crits, weapon vs armor to-hit automation, and more!

    UPDATE: This post got too long, as the extension grew considerably since the original post. You'll have to look through the thread as various features were added or check out the ReadMe on Github (linked below, but slightly out of date). Until I update the readme, you sadly need to read through this whole thread to see how things work, since I described new features as they were added. I hang out in the #dnd_classic_2e channel on the FG Discord if you have questions.

    I've created an extension for the 2E ruleset that adds the critical hits from Player's Option: Combat & Tactics, adds some additional automation for basic 2E rules (such as to-hit modifiers for weapon type vs armor), and also adds some house rules that are similar to rules seen in Hackmaster. Almost everything in this mod is toggleable.

    The code is all freely available at Github, and there is a readme file there which goes into much more detail than I can on these forum due to a character limit: https://github.com/drplote/FG-2e-PlayersOption
    If you plan to use this extension, taking a look at that readme is well worth it (though it's slightly out of date and missing a few of the newer features).

    A brief overview of what's currently implemented:



    Again, as a reminder, you can pick and choose what you want to use from this extension by toggling any option to "off".

    "Always On" features
    • Added a radial menu to the player's Action tab attack button, that allows for quickly added modifiers like rear attacks, called shots, cheater dice (always 1 or 20), etc.
    • Added a radial menu to the Delay button the player action tab that allows for specific delay of 1-10 segments.
    • Added "Act" and "Done" buttons to the top of the player Action tab that allows them to move their init to the next segment or signify that their turn is done.
    • Added a radial menu to the GM Combat Tracker NPC weapons that allow the same as above.
    • Added a radial menu to the GM Combat Tracker actor list (the part on the left) that allows you to change their initiative (set to 1 or 10, delay, etc) or add/remove common effects (stunned, prone, etc)
    • Added an "Items" section to the Encounter record so you can spawn specific items on a creature. Pairs well with the "Adjust NPC AC for Items and Abilities" option.
    • A bunch of new effects, most of which tie in to the option systems, but a few like DMGDX which are general purpose.
    • Added some radial menu options to the CT actor that allow you to quickly add effects for some common light source types and vision types, or remove all light sources.


    Player's Option Rules
    • Combat & Tactics Critical Hits - Implements the critical hits system from the 2E Combat & Tactics book, complete with damage type vs creature type, and severities based on weapon size and creature size.
    • Combat & Tactics Initiative - Implements the phased initiative system from the 2E Combat & Tactics book.


    Additional Automation
    • Adjust NPC AC for items and abilities - NPC armor class will be affected by worn armor, rings, dexterity, etc. If you're going to put armor on an orc, make sure you set it's base AC to 10 first!
    • Allow Player Cheater Dice - toggles if they have a button to force a roll of 1 or 20
    • Alternate Condition Modifiers - Changes how some effects like prone/restrained stack
    • Generate Hit Locations - Just for flavor, shows where a hit occurred
    • Ring Bell on Round Start - Rings the bell when it's a player's turn
    • Set Unrolled NPC Init to 99 - Set to 99 at start of round until they manually roll
    • Set Unrolled PC Init to 99 - Set to 99 at start of round until they manually roll
    • Stricter Resistance Rules - Changes how resistance works with multiple damage types (like a morningstar's bludgeoning/piercing vs a skeleton, which would be resisted in the base ruleset but not with this option enabled). Need work though since neither this nor the base ruleset really has it fully right yet in all cases, in my opinion.
    • Weapon vs Armor to-hit modifiers - Automates the weapon type vs armor tables from 2E (or whatever you set as custom values) like, for, example, +2 to-hit with bludgeoning vs chainmail


    Hackmaster House Rules
    • Armor Damage - Armor soaks damage per hit and slowly degrades
    • Enable Comeliness - Adds stat to PC sheet
    • Enable Honor - Adds honor which can affect dice rolls (+1 or -1 to all dice)
    • Hackmaster 10-segment initiative - Uses the HM init system where all action occurs on segments 1-10, with 11+ rolling over to the next round.
    • Hackmaster critical hits - uses the crit charts from Hackmaster (including severity calculations and size differences)
    • Hackmaster fatigue rules - Not quite RAW, but pretty close, slowly gaining fatigue in combat which can affect str/dex
    • Hackmaster stat scaling - Use the Ability Score modifiers from Hackmaster rather than 2E (generally, they're higher)
    • Hit Point Kickers - Add bonus HP to every NPC when they spawn on the CT.
    • HM Called Shot Modifiers - Use the HM tables for called shot modifiers rather than the flat -4 of 2E
    • Monster Thac0 Based on HM Attack Matrix - Doesn't reproduce the attack matrix from hackmaster, but does set Thac0 according to those charts
    • Penetration Dice - Damage/heals explode upward if maximum is rolled
    • Reaction Adjustment Affects Init - Dex affects init
    • Threshold of Pain - Chance to be stunned if an actor takes 50% of max health in a round.
    • Use Fumble Tables - Spice things up on a natural 1
    • What can hurt magic armor (if using armor damage?) - Specifies how magic armor takes damage under the armor damage system



    I will post major updates to the extension to this thread, but the latest code is always available at https://github.com/drplote/FG-2e-PlayersOption if you want to just grab it and zip it into an extension yourself. What I post to this thread is (hopefully) stable, but any given pull on Github might contain experimental code that's still in progress, as I've been too lazy to set up a Release branch (mainly because I don't think anyone actually looks there).

    WARNING: This extension touches a lot of systems (combat, initiative, character sheet, combat tracker, etc) and overrides or in some cases reproduces a lot of the 2E ruleset code, so any time the 2E ruleset updates and has changes in those areas, there is a chance that this extension will break or cause undesired behavior until I get it updated. If you run into any bugs, before reporting them against the ruleset to Celestian, disable the extension first and see if it still occurs. Most of the extension file names end in "*_po.lua" so if you see a bug pop up in the console with a filename that ends like that, it's pretty safe to blame the extension. You can submit bug reports to me in this thread or find me in the #dnd_classic_2e channel on FG's Discord.

    WARNING #2: I started out writing this while using FGC but switched to FGU around September 2020 and have no plans to go back. As far as I know, everything in this extension works in FGC, but I don't plan to maintain backwards compatibility if fixing some FGC-specific bug turns out to be particularly complex. Hopefully we won't run into anything like that, but just be aware that I don't test this extension in FGC at all anymore.

    WARNING #3: Now that FGC has an end date where it will stop being updated, Warning #2 especially applies! I'll archive an older version of this extension for FGC at the time that the 2E ruleset locks it's FGC code as well, and it won't receive any further updates after that.
    Attached Files Attached Files
    Last edited by Sterno; June 8th, 2021 at 21:44. Reason: updated to 1.02

  2. #2
    Got this error when scoring a critical hit.
    Script Error: [string "scripts/utility_po.lua"]:10: attempt to get length of local 'set' (a nil value)
    "My campaigns are multi layered tapestries upon which I texture themes and subject matter which quite frankly would be to strong for your hobbiest gamer."
    -Doug Dougalson

    Fantasy Grounds License: Ultimate
    Games I Run: AD&D 2nd Ed
    Currently Running: AD&D 2E (Forgotten Realms)
    Games I play: Any~
    Converted Modules: Faiths & Avatars (2e), Demihuman Deities (2e), Tome of Magic (2e)
    Current Projects: Dragon Mountain
    Created Content: AD&D 2E NPC generator Module

  3. #3
    Darn it, I did a lot of testing but apparently something go through. Looks like in this case it's treating something like a set which isn't, in some particular case. Can you tell me what kind of attacker, defender, and weapon you had so I can try to reproduce?

  4. #4
    The attacker is a PC with a long sword attacking an orc with no additions to the NPC.
    "My campaigns are multi layered tapestries upon which I texture themes and subject matter which quite frankly would be to strong for your hobbiest gamer."
    -Doug Dougalson

    Fantasy Grounds License: Ultimate
    Games I Run: AD&D 2nd Ed
    Currently Running: AD&D 2E (Forgotten Realms)
    Games I play: Any~
    Converted Modules: Faiths & Avatars (2e), Demihuman Deities (2e), Tome of Magic (2e)
    Current Projects: Dragon Mountain
    Created Content: AD&D 2E NPC generator Module

  5. #5
    I'm rolling from the Attack box within the combat tracker. NVM tried from the character sheet. same error.
    Last edited by Frankison; July 4th, 2020 at 19:05.
    "My campaigns are multi layered tapestries upon which I texture themes and subject matter which quite frankly would be to strong for your hobbiest gamer."
    -Doug Dougalson

    Fantasy Grounds License: Ultimate
    Games I Run: AD&D 2nd Ed
    Currently Running: AD&D 2E (Forgotten Realms)
    Games I play: Any~
    Converted Modules: Faiths & Avatars (2e), Demihuman Deities (2e), Tome of Magic (2e)
    Current Projects: Dragon Mountain
    Created Content: AD&D 2E NPC generator Module

  6. #6
    The Combat & Tactics Critical Hits also disables the ability to increase the critical threat range effect. CRIT:16 for high mastery for instance.
    I included a screen shot, in the chat log there is a 19 rolled with the Nat 20, hit by 5 you can see the effect is showing on the attack but it did not trigger the crit.
    I then turned it off and tried again, without the rule in play the crit activates fine.
    Capture.PNG
    Last edited by Frankison; July 4th, 2020 at 19:17.
    "My campaigns are multi layered tapestries upon which I texture themes and subject matter which quite frankly would be to strong for your hobbiest gamer."
    -Doug Dougalson

    Fantasy Grounds License: Ultimate
    Games I Run: AD&D 2nd Ed
    Currently Running: AD&D 2E (Forgotten Realms)
    Games I play: Any~
    Converted Modules: Faiths & Avatars (2e), Demihuman Deities (2e), Tome of Magic (2e)
    Current Projects: Dragon Mountain
    Created Content: AD&D 2E NPC generator Module

  7. #7


    Just tried the same and it's working for me. Do you have any other extensions installed? The attack action code in the 2E Ruleset isn't really built for injecting code without massive code replacement so I had to replace a huge chunk of it... other extensions that do the same might be conflicting. Otherwise I'll probably have to add some debug logging to catch what's going on. This failure is probably related to it trying to determine the damage type of the weapon, and for some reason getting bad data back. If we're both using stock PHB and MM data, though, I'm not sure what could be happening.

    As far as the crit range thing, yeah. I'm not sure what the best way to handle that would be since the crit range with RAW is already 18+. I could implement something there but I'm not sure what the right answer would be. The best choice might be having the nat 20 options use the specified threat range, but the 18+ version from Combat & Tactics ignore it. I guess some other options would be to extend by the same amount... a threat range of 19-20 with the 18+ system would be be 17-20 (essentially 1 better). Or yet another option is to only use the improved threat range if it's <18 and 18+ is selected.

    Edit: Huh. Nevermind. This error is occuring when you manually roll a 20 rather than forcing a 20 to be rolled (which is what I did in all my testing because otherwise it would take forever). I should be able to track this down and fix it in a few.
    Last edited by Sterno; July 4th, 2020 at 19:26.

  8. #8
    when I force the roll like you just did it works. Try attacking normally without using the force roll feature till you roll a crit.
    The only other extension I had was a Decal extension.
    Just tested it without the extension, same error.
    "My campaigns are multi layered tapestries upon which I texture themes and subject matter which quite frankly would be to strong for your hobbiest gamer."
    -Doug Dougalson

    Fantasy Grounds License: Ultimate
    Games I Run: AD&D 2nd Ed
    Currently Running: AD&D 2E (Forgotten Realms)
    Games I play: Any~
    Converted Modules: Faiths & Avatars (2e), Demihuman Deities (2e), Tome of Magic (2e)
    Current Projects: Dragon Mountain
    Created Content: AD&D 2E NPC generator Module

  9. #9
    Version 0.2: Fixed glaring oversight where crits weren't working when rolled/dragged rather than forced via control-click.

    Thanks for the feedback, Frankison. I've replace the extension in the OP with a fixed version.
    It does not address your issue with manually set crit ranges on weapons. I'm open to whatever suggestions you have about how that should work.
    Last edited by Sterno; July 5th, 2020 at 01:04.

  10. #10
    JohnD's Avatar
    Join Date
    Mar 2012
    Location
    Winnipeg Canada
    Posts
    4,962
    Blog Entries
    1
    Nice work!
    "Whoever would overthrow the liberty of a nation must begin by subduing the freeness of speech."

    "They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."

    - Benjamin Franklin

    "The right to free speech is more important than the content of the speech."

    "Think for yourselves and let others enjoy the privilege to do so, too."

    - Voltaire

Thread Information

Users Browsing this Thread

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

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Fantasy Grounds Fridays Pre

Log in

Log in