DICE PACKS BUNDLE
Page 24 of 33 First ... 142223242526 ... Last
  1. #231
    Thanks for this update, really like the details you've done to keep this working so well with 5E rules.

  2. #232
    Fixed potential problem when flanking was set to no longer existing "on" setting - now is "off/ADV/+1/+2" possible settings. No version update.

    Console error of 483 given because if previous setting was "on" for flanking that no longer exist. Fixed. Worked around in my LIVE game before fix by resetting the flanking option.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  3. #233
    Thanks for the update

  4. #234
    V1.43 - Bug - Was not handling register function correctly so that others doing same register of them could be fully compatible. Fixed. (BCEG conflict resolution impacting ranged calcs)
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  5. #235
    Quote Originally Posted by SilentRuin View Post
    V1.43 - Bug - Was not handling register function correctly so that others doing same register of them could be fully compatible. Fixed. (BCEG conflict resolution impacting ranged calcs)
    Appreciate the bug fix.

  6. #236
    New .ext delivered with Generic Actions (GenericActions.ext and now GenericActionsLayer.ext also)

    Here is a snippet from .txt file:

    New GenericActionsLayer.ext delivered with GenericActions.ext so it can be used in more than 5E -
    "Feature: Generic Actions Layer"

    (for the moment the 2E, 3.5E, 4E, 5E, PFRPG2, and SFRPG rulesets are supported)
    The assets placed are very temporary and are not dynamic (do not move with anything).
    The new option to place assets in the "Generic Actions" map layer will work in the following manner:

    Assets that are under tokens are scaled at 2*token spacing and should be designed to take up the boundaries of the image (as map layers are always under tokens). Ranged assets are going to be 1 grid unit X range grid units in scale and have option to have different ones assigned at different ranges so these assets should also take that into consideration for design. Any melee should be along the right border of the defined boundry with space allowed for where a token would assume to be overlayed. Ranged will be simply stretched out along the width and should be moving left to right if wanting appearance of movement from source to target. Also, any source token with a ranged asset placed will be unseleted so that targeting arrows do not block the layer graphics.

    Assets to be used by this feature will be accessed from the directories <FGU>/campaign/images/Generic Actions/* + <FGU>/images/Generic Actions/* including all sub-directories where all the asset names will be cached with relevant info (memory cache will only updated on a refresh asset button update) to be referenced by asset's name (minus any "_%d" range suffix). The lua pattern which does this is as follows:
    local sSearchAsset = sResultAsset:gsub("[%w%p%s]*%/", "");
    sName, sDist = string.match(sSearchAsset, "([%w%p%s]-)[%_%.]?(%d*)%.");
    All names used to search this cache will be simplified (no punctuation or spaces) so the asset file name will be expected to match though the file can be of any case. Any duplicate names in cache will be wiped or last come first serve depending on order they are hit - so don't have duplicates. Name matching and placement will work in the following manner:

    All of the following name matches below that have a range component in description can also have an "_%d" appended to end of the asset file name indicating a numeric range in the maps local units (not grid units). For example:
    <FGU>/images/Generic Actions/DefaultRanged_05.webm
    <FGU>/images/Generic Actions/DefaultRanged_15.webm
    <FGU>/images/Generic Actions/DefaultRanged_30.webm
    <FGU>/images/Generic Actions/DefaultRanged_60.webm
    <FGU>/images/Generic Actions/DefaultRanged_90.webm
    Where the range between source token and target token will find the closest value and apply that asset for ranged (run) placement. Of course the above is just an example and could be in the campaign/images/Generic Actions directory or any sub-directory under those respective directories (the code only cares about the asset files not where they may reside under those directories). The alphabetical order must be preserved for this to work - so if you have a range of 100 in there then all the others have to be 3 digits - like 005 etc.

    ll of the following name matches will also search for the (AdvantagesPA.ext Advantages Extension) imageControl.getLastActivePtrs() function. If it is found and data is returned for the last stored pointer data (cone, circle, rectangle) then and it will append "PTRcone" or "PTRcircle" or "PTRsqr" to the current asset name being placed. If it finds the asset in the cache for the current last stored pointer shape it will place that asset on "Generic Actions Ptr" named layer (before the one going to "Generic Actions" layer is placed so that it will be overlayed with the original last pointer data - layers being layers after all) with the appropriate scale and orientation for the last stored pointer shape. To get rid of the last stored pointer shape YOU MUST use the clear last pointer data map toolbar button - otherwise the last shape placed (visible any longer or not) will be removed. All of this only works if you have "5E: Advantages Pointer Areas" extension loaded. Otherwise, ignore this option.

    ActionAttack.onPostAttackResolve
    - will find the name by the following lua pattern:
    sMatchName = string.match(rRoll.sDesc, "%]([%w%p%s]-)%[");
    or
    sMatchName = string.match(rRoll.sDesc, "%]([%w%p%s]*)");
    If their is a range between the source token and target token > than the source's reach then the name will have "Ranged" appended to the end of the name. Otherwise it will have "Melee" appended to the name. The name will then be simplified (all punctuation and spacing removed and lower cased). This final form of the name will then be used to access the cache of asset file names which will have their case lowered also. If no match in cache is found then "DefaultRanged" (if ranged per rules above) or "DefaultMelee" will be used to find cache. Otherwise nothing will be done if no match found. Any range match will scale ( width 1 grid unit, height - see code for math) and orient the asset and place it between the source token and target token on the "Generic Actions" map layer. Essentially this will be weapon or spell name its looking for most likely.
    ActionPower.onPowerSave/ActionPower.onPowerCast (only 5E)
    - will find the name by the same lua pattern searches in onPostAttackResolve.
    The name will then be simplified (all punctuation and spacing removed and lower cased). This final form of the name will then be used to access the cache of asset file names which will have their case lowered also. If no match in cache is found then "DefaultPowerSave"/"DefaultPowerCast" will be used to find cache. Otherwise nothing will be done if no match found. Any range match will scale ( width 1 grid unit, height - see code for math) and orient the asset and place it between the source token and target token on the "Generic Actions" map layer. Essentially this will be spell name its looking for most likely. If this was a cast attack it will append "Cast" to end of name search.

    ActionDamage.onDamage
    - will find the name by the following lua pattern:
    sMatchName = string.match(rRoll.sDesc, "%[TYPE[%w%p%s]-)%(");
    The name will then be simplified (all punctuation and spacing removed and lower cased). This final form of the name will then be used to access the cache of asset file names which will have their case lowered also. If no match in cache is found then "DefaultDamage" will be used to find cache. Otherwise nothing will be done if no match found. The asset will be placed on the target token at a scale of 2*token spacing. It will also append "DMGRun" to end of name (and default name) and do another asset search where any range match will scale ( width 1 grid unit, height - see code for math) and orient the asset and place it between the source and token on the "Generic Actions" map layer. This allows two assets to be placed if found - one over target and one on the run between source and target. Essentially this will be damage type name its looking for most likely.

    ActionHeal.onHeal
    - will find the name by the following lua pattern:
    sMatchName = string.match(rRoll.sDesc, "%[HEAL%]([%w%p%s]*)");
    The name will then be simplified (all punctuation and spacing removed and lower cased). This final form of the name will then be used to access the cache of asset file names which will have their case lowered also. If no match in cache is found then "DefaultHeal" will be used to find cache. Otherwise nothing will be done if no match found. The asset will be placed on the target token at a scale of 2*token spacing. It will also append "HealRun" to end of name (and default name) and do another asset search where any range match will scale ( width 1 grid unit, height - see code for math) and orient the asset and place it between the source and token on the "Generic Actions" map layer. This allows two assets to be placed if found - one over target and one on the run between source and target. Essentially this will be damage type name its looking for most likely.

    EffectManager.addEffect
    - will find the name by the following lua pattern:
    sMatchName = string.match(rRoll.sDesc, "%[EFFECT] ([%w%p%s]*)");
    The name will then be simplified (all punctuation and spacing removed and lower cased). This final form of the name will then be used to access the cache of asset file names which will have their case lowered also. If no match in cache is found then "DefaultPowerSave" will be used to find cache. Otherwise nothing will be done if no match found. The asset will be placed on the target token at a scale of 2*token spacing. Essentially this will be effect name its looking for most likely.

    The "Generic Actions*" map layers may be removed manually if desired - but will also be automatically removed on the following calls:
    CombatManager.showTurnMessage
    Token.onClickDown
    ActionsManager. performAction - only if following is true:
    if not string.match(rRoll.sDesc, "%[SAVE%]([%w%p%s]*)") then
    PowerActionManagerCore. performAction

    Here is an example of my test file definitions and arbitrary directories under the required one plus a video that was more proof of concept (things have changed a bit but still mostly relevant and too lazy to make anther):

    GenericActionsNaming.png

    Last edited by SilentRuin; July 20th, 2023 at 01:39.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  7. #237
    I love it when you talk "codey"

    But seriously, thank you so much for this.
    Hope many more FGU GMs do too.

  8. #238
    Quote Originally Posted by mordkhaan View Post
    I love it when you talk "codey"

    But seriously, thank you so much for this.
    Hope many more FGU GMs do too.
    Ha. Likely nobody will even notice It's thoroughly guarded by a text wall after all

    Also, as the video mentions if your using .webm (VP8) assets you will see a random bug in FGU code. They are looking into it I'm informed... https://www.fantasygrounds.com/forum...l=1#post692436
    Last edited by SilentRuin; July 10th, 2023 at 14:48.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  9. #239
    Per usual, all my code is not in the vault and people are free to look/scavange what they need out of it if they need to do similar things.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  10. #240
    My plan is just to find webm resources and sounds for all the PC's actions in my current campaign and then as I build a session flesh out whatever they are to encounter with sounds and webm or as PCs aquire new actions also.

    This where I gather my free webm resources and how I convert them to webm VP8...

    For assets to be used in this extension I usually have to make sure the asset is modified to fit over a token which it will be behind and have asset on far right so when oriented will be facing target and out from behind the token - on runs between token that it is centered and in a left to right motion - not to mention filling as much space as possible.These are where my free webm animation for testing came from. Any not in webm VP8 format I use https://shotcut.org/download/...
    - drop in video
    - drag to into timeline
    - open filters for timeline
    - set chroma:simple filter, choose background with eye dropper that is to become transparent, drag distance bar to < ~3% (otherwise will find similar colors on actual video and transparent them)
    - export file as webm VP8 alpha channel
    - combine any other webm's or edit them in the manner this extension requires.

    And any other editing I want to do including combining webm's. Usually filter "size, rotation, position", "crop: circle", and then "chroma:simple" for each source to be combined if more than one. Usually if I combine things I have to export the new webm VP8 alpha channel, reopen it, and apply the "chroma:simple" filter again to make background color transparent. I also use "crop: source" to get into a square of only what I want with export advanced making sure all my resolution and aspect ratio are all the same largest of the values (though I'm sure you could do different to get a square this is just simplest to preserve detail).

    I use https://pixelied.com/convert/png-converter/png-to-webp to convert all my .jpg and .png without loss of detail into .webp to save space.

    I use https://www.getpaint.net/download.html to edit the webp.

    From Grim Press

    rhagelstrom — 07/06/2023 3:31 PM
    I signed up for their patreon https://jb2a.com/. Its the same stuff that you'll see in foundry. They also have a free set. Then there is their github where you can get stuff https://github.com/Jules-Bens-Aa/JB2A_DnD5e I don't know if that is just the free set or the full set I haven't really checked to figure it out but I think it might be full set. I'm not really sure on what their $ model is so that is why you'll just have to convert them yourself.

    From FGU forums (rhagelstrom has 4 .mod files with webm VP8 assets)

    https://www.fantasygrounds.com/forum...l=1#post690627

    From web


    The files I generated from above resources (referenced above) and conversion and naming techniques and store in my "<FGU>/images/Generic Actions" directory are here if you want to use them in testing (its a mod file you can put in your modules directory and will put the assets in the subdirectly where I expect to find them in the FGU assets window).

    This is how I do sound to match those things...



    Though obviously there are different places and ways to do everything I just described. That's just how I do it.
    Last edited by SilentRuin; November 15th, 2023 at 13:10.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

Thread Information

Users Browsing this Thread

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

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
  •  
STAR TREK 2d20

Log in

Log in